Abstract | ||
---|---|---|
The C preprocessor (CPP) is a simple and language-independent tool, widely used to implement variable software systems using conditional compilation (i.e., by including or excluding annotated code). Although CPP provides powerful means to express variability, it has been criticized for allowing arbitrary annotations that break the underlying structure of the source code. We distinguish between disciplined annotations, which align with the structure of the source code, and undisciplined annotations, which do not. Several studies suggest that especially the latter type of annotations makes it hard to (automatically) analyze the code. However, little is known about whether the type of annotations has an effect on program comprehension. We address this issue by means of a controlled experiment with human subjects. We designed similar tasks for both, disciplined and undisciplined annotations, to measure program comprehension. Then, we measured the performance of the subjects regarding correctness and response time for solving the tasks. Our results suggest that there are no differences between disciplined and undisciplined annotations from a program-comprehension perspective. Nevertheless, we observed that finding and correcting errors is a time-consuming and tedious task in the presence of preprocessor annotations. |
Year | DOI | Venue |
---|---|---|
2013 | 10.1145/2517208.2517215 | GPCE |
Keywords | Field | DocType |
controlled experiment,latter type,c preprocessor,program comprehension,preprocessor annotation,disciplined annotation,arbitrary annotation,source code,undisciplined annotation,underlying structure,annotated code,preprocessor annotations matter,variability | Programming language,Computer science,Source code,Correctness,Response time,Theoretical computer science,Software system,Preprocessor,Controlled experiment,Conditional compilation,Program comprehension | Conference |
Volume | Issue | ISSN |
49 | 3 | 0362-1340 |
Citations | PageRank | References |
6 | 0.42 | 22 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Sandro Schulze | 1 | 259 | 23.43 |
Jörg Liebig | 2 | 493 | 17.26 |
Janet Siegmund | 3 | 338 | 27.69 |
Sven Apel | 4 | 3980 | 184.13 |