Project Details
Projekt Print View

SoftwareDynamics²: Fine-Grained Evolution of Software Behavior

Subject Area Software Engineering and Programming Languages
Term from 2016 to 2022
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 288909335
 
Software systems continuously evolve. While the evolution of static properties of software systems, such as represented 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 joint project between Fabian Beck from the University of Stuttgart and Martin Pinzger from the Alpen-Adria University Klagenfurt targets the investigation of the interplay between software evolution and software execution. To this end, we propose to research 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 a fine-grained level of detail: we will consider changes in the source code on the level of abstract syntax trees and observe changes in the behavior down to the level of call and object graphs. We will evaluate our methods and techniques in a number of empirical studies with diverse software systems and in user studies with software developers. Furthermore, 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.
DFG Programme Research Grants
International Connection Austria, Netherlands, Switzerland
 
 

Additional Information

Textvergrößerung und Kontrastanpassung