SoftwareDynamics2: Fine-Grained Evolution of Software Behavior

Funding: FWF, standalone project number I 2753-N33
Duration: October 2016 - November 2020


Software systems continuously evolve. While the evolution of static properties of software systems, such as expressed by software metrics, code clones, and static dependencies, has been studied in detail, the evolution of dynamic properties has been investigated only at the macroscopic level. Basic questions, such as, what are the effects of a particular code change on the execution of a software system, or, which code changes caused the degradation of the execution time, are currently not easy to answer by software developers and researchers.

This research project aims at investigating and developing novel methods and techniques to analyze and visualize the impact of specific code changes on the dynamic behavior of a software system, and to find causes for specific changes of dynamic behavior in the evolution of a software system. In contrast to previous research, we will analyze both, software evolution and software execution, on the level of program statements. We will integrate the methods into novel prediction and recommendation techniques to assist software developers in optimizing specific performance metrics of a software system, such as runtime or memory consumption. A major challenge of this research project will be the mapping of single code changes to individual differences in the dynamic behavior. In addition, all methods need to be scalable and support multiple levels of details to make the fine-grained data explorable and understandable to software developers and researchers.

The systematic and detailed analysis of the two time dimensions creates a unique research opportunity that has not yet been explored by researchers. The planned outcomes of the project promise to provide methods for researchers to gain a better understanding of software evolution beyond static properties of software systems, and for developers to ease software maintenance, in particular, optimizing the dynamic behavior of software systems.

This joint research project is a collaboration between University of Duisburg-Essen and the Alpen-Adria-Universität Klagenfurt.


  • October 2018 - Our paper "Exploring Visual Comparison of Multivariate Runtime Statistics" has been accepted at SSP 2018 in Hildesheim, Germany.
  • June 2018 - Our paper "Generating Accurate and Compact Edit Scripts using Tree Differencing" has been accepted at ICSME 2018 in Madrid, Spain.
  • June 2018 - Our tool demo paper "DiffViz: A Diff Algorithm Independent Visualization Tool for Edit Scripts" has been accepted at ICSME 2018 in Madrid, Spain.

Topic revision: r19 - 2019-01-07 - MartinPinzger

Copyright © 2012-2019 by the Software Engineering Research Group, University of Klagenfurt, Austria