Reengineering of Configurations Based on Mathematical Concept Analysis
We apply mathematical concept analysis to the problem of reengineering configurations. Concept analysis has been developed by German mathematicians over the last years; it will reconstruct a taxonomy of concepts from a relation between objects and attributes. We use concept analysis to infer configuration structures from existing source code. Our tool NORA/RECS will accept source code, where configuration-specific code pieces are controlled by the preprocessor. The algorithm will compute a so-called concept lattice, which --- when visually displayed --- allows remarkable insight into the structure and properties of possible configurations. The lattice not only displays fine-grained dependencies between configuration threads, but also visualizes the overall quality of configuration structures according to software engineering principles. In a second step, interferences between configuration threads can be analysed in order to restructure configurations. Interferences indicate high coupling and low cohesion between configuration concepts. They can be resolved by automatically decomposing the source code into "modules'', where each module deals with a cohesive subset of the configuration space.
The paper presents experimental results on various programs. In particular, we consider some well-known Unix programs which suffer from configuration hacking.
|Zugehörige Institution(en) am KIT
||Institut für Programmstrukturen und Datenorganisation (IPD)
KITopen ID: 1000017662
||ACM Transactions on Software Engineering and Methodology
||146 - 189
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page