Fakultät für Informatik

TU München - Fakultät für Informatik
Software- and Systems Engineering Research Group



Es sprechen Studenten über ihre abgeschlossenen Diplomarbeiten und Systementwicklungsprojekte.

Am Donnerstag, 01.06.17, ab 14:00 Uhr, im Raum "Neumann"(00.11.038):

14:00 - 14:25:Timo PawelkaMA(Dr. Alexander von Rhein, Dr. Elmar Jürgens)Analysis of the Application of Conditional Compilation in Software Systems

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.

© Software & Systems Engineering Research Group
Sitemap |  Kontakt/Impressum
Letzte Änderung: 2017-05-04 15:50:53