Project Details
Projekt Print View

Empirical Foundational Research on Program Comprehension in Software Engineering

Subject Area Software Engineering and Programming Languages
Term from 2010 to 2023
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 166725071
 
Final Report Year 2024

Final Report Abstract

The aim of the researchers was to gain a comprehensive understanding of the factors that significantly influence program comprehension. These include behaviors, working patterns, cognitive aspects, and the knowledge acquired and required. Tools developed specifically for the project were used to collect data that provide information about the individual steps taken by the developers when making changes to programs. The evaluation of those data unrevealed characteristic features that can be used to draw conclusions about the current phase in the understanding process of an individual developer. These phases are not as linear as some of the previous theories on program comprehension predicted. Rather, developers often go through the same phases several times and oscillate back and forth between them. In addition, a comprehensive taxonomy of the information requirements of developers was created based on a systematic review of the existing scientific literature. Complementary to that, data were analyzed from the review process of 46 open source projects. Six types of knowledge were identified in the comments, including among others the explicit request to add missing or related information. The researchers also investigated the contribution of visualizations to program comprehension, which give developers a visio-spatial image of programs. Modern virtual reality technologies were analyzed, too. In these investigations, no significant effect of the representation in terms of efficiency and effectiveness in solving the given programming tasks were found. However, some details could be observed, where the test subjects behaved differently depending on how the programs were presented to them (two- or three-dimensional). These findings can be used in future for the design of both the presentation itself and the interactions to be supported by a visualization.

Publications

 
 

Additional Information

Textvergrößerung und Kontrastanpassung