YoVDO

Automated Visual Software Analytics

Offered By: openHPI

Tags

Computer Science Courses Software Development Courses Software Testing Courses Software Engineering Courses Software Architecture Courses IT Project Management Courses

Course Description

Overview

In this course, 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.

As precondition, our interested learners for this course shall have general knowledge about software development processes and procedures and have experience in IT-systems development or software maintenance. This course is especially interesting for - IT-project managers - Software developers, software testers and software engineers - Software architects and modelers - Parties responsible for financing the IT-development in a company

Basic Modules:

  1. Complex software and software "engineering": a dilemma
  2. Facets of software complexity
  3. Key principles and methods of automated software analysis
  4. Key principles and methods of software visualization
  5. Concepts of software diagnosis
  6. Diagnosis of statics information
  7. Diagnosis of dynamics information
  8. Diagnosis of evolution-related information
  9. Information mining for complex software systems
  10. Information mapping for complex software systems
  11. Software maps - getting insights into hierarchy information
  12. Application scenario: discovering developer involvement
  13. Application scenario: discovering "code that smells"
  14. Application scenario: monitoring system redesign processes
  15. Application scenario: discovering implementation hierarchy modifications
  16. Hierarchical bundle views - getting insights into relations
  17. Application scenario: system refactoring and decoupling subsystems
  18. Trace views - getting insights into software system dynamics
  19. Application scenario: comparing feature execution of two software versions
  20. Knowing instead of Believing: How software diagnosis improves effectiveness
  21. Literature and further readings

Advanced Modules:

  1. Software maps and layout algorithms
  2. Software maps based on Voronoi maps
  3. Efficient rendering of large software maps

Taught by

Prof. Dr. Jürgen Döllner

Related Courses

ABC du langage C
Institut Mines-Télécom via France Université Numerique
Abstraction, Problem Decomposition, and Functions
University of Colorado System via Coursera
Advanced Data Structures in Java
University of California, San Diego via Coursera
Advanced React
Meta via Coursera
Testing with Agile
University of Virginia via Coursera