Automated Visual Software Analytics



Important information

  • Course
  • Online
  • When:

In this MOOC, we explore how the effectiveness of software development projects can be pro-actively improved by applying concepts, techniques, and tools from software diagnosis. The term "software diagnosis" refers to recently innovated techniques from automated software analysis and software visual analytics that aim at giving insights into information about complex software system implementations, the correlated software development processes, and the system evolution. To this end, all common, traditionally separated infomation sources of software development get automatically extracted, related, and combined. The ultimate goals of these techniques are to provide not only software engineers but also all other stakeholders better instruments to monitor, to comprehend, to discuss, and to steer software development activities. In particular we will investigate how "software maps" as cartography-oriented, general-purpose, powerful visual analytics instruments can be used to improve software development effectiveness and transparency.

Important information

Where and when

Starts Location

What you'll learn on the course

Data Mining
Software Enginnering
Software Metrics
Visualization Techniques (

Course programme

Introduction to Software Engineering (week 1)
  • Software Dependency
  • Software Development
  • Software Complexity
  • Software Maintenance
  • Static Source Code Analysis
Software Metrics (week 2)
  • Software Metrics
  • Lines-of-Code (LoC)
  • Code Duplicates
  • Nesting Level (NL)
  • Cyclomatic Complexity (McCabe)
  • Halstead Complexity
  • Module Dependencies
  • OO Metrics
Analytics (week 3)
  • Analytics
  • Visual Analytics
  • Visualization Pipeline
  • Predictive Analytics
  • Software Analytics
Automated Data Mining and Visualization Techniques (week 4)
  • Version Control Systems
  • Mining SW Repositories
  • Treemaps
  • 2.5D Treemaps
  • Hierarchical Circular Bundle Views
Applying Visual Software Analytics (week 5)
  • Software Maps
  • Exploring System Implementations
  • Discovering Error-Prone Code
  • Monitoring Technical Debts
  • Involvement and Knowledge Distribution
  • Refactoring Planning
  • Monitoring Redesign Processes
Related Techniques and Outlook (week 6)
  • Tracing
  • TraceViews
  • Code Usage & Test Coverage
  • Software Effectiveness
  • Prescriptive Software Analytics