ComputingComputer ScienceCompilersProgramming LanguagesSoftware EngineeringAbstract Syntax TreesControl-flow AnalysisData-flow AnalysisProgramming Language ImplementationSoftware ConstructionSoftware DesignAbstraction MechanismsInterprocedural AnalysisInterprocedural Data-flow AnalysisInterprocedural Dataflow AnalysisMaintenance
It is well known that the extensive use of preprocessors can lead to serious maintenance problems. However, these tools are still heavily used by developers and maintainers to implement software variants. Without adequate tools, understanding complex preprocessor files is a really tedious task. Problems are difficult to formulate and seem very specific. The paper shows that considering preprocessors from an abstract point of view can lead to surprising results. The use of abstractions considerably increases problem comprehension and solutions can be derived directly from existing techniques like slicing, program specialization or interprocedural data flow analysis. The preprocessor of the C language (CPP), is taken as a case study, and the functionalities of Champollion/APP, a tool for preprocessor maintenance, are briefly described.
14
The use of program dependence graphs in software engineering
Susan Horwitz, Thomas Reps · 1992 · 261 citations
On the inference of configuration structures from source code
Maren Krone, Gregor Snelting · 1994 · 128 citations
On the inference of configuration structures from source code
Maren Krone, Gregor Snelting · 2002 · 67 citations