TU München - Fakultät für
Es sprechen Studenten über ihre abgeschlossenen Diplomarbeiten und Systementwicklungsprojekte.
Am Donnerstag, 01.06.17, ab 14:00 Uhr, im Raum "Neumann"(00.11.038):
Analysis of the Application of Conditional Compilation in Software Systems
The preprocessor CPP is a widely used tool to introduce variability and configuration options into systems. Even though it is already around for over 40 years, its usage has not decreased, quite the opposite. But despite all its merits it also has considerable downsides, especially concerning the readability and maintainability of code, in which it is used. Excessive usage and nested implementation can make source code confusing and may facilitate the introduction of faults. In order to combat problems like these the concept of discipline of preprocessor annotations has been introduced. Discipline is a principle that groups conditional inclusion code into the two categories disciplined and undisciplined. The analysis of the use of preprocessor annotations and their discipline is a subject of many research papers, but the development of the discipline and related metrics over the complete version-control history of a project has not been studied so far. In our work we analyze the discipline of preprocessor annotations of 20 open source projects, with a particular emphasis on the development of that discipline over their version-control histories. The presentation and discussion of the result contain the distribution of undisciplined preprocessor annotations over the files, the correlation between the nesting depth of conditional preprocessor statements and a lack of discipline, as well as emerging patterns of undisciplined preprocessor annotations on a snapshot of a project and its history.