[snelting96tosem] | Gregor Snelting, Reengineering of Configurations Based on Mathematical Concept Analysis, ACM Transactions on Software Engineering and Methodology, Vol. 5, (2), pp. 146--189, April 1996.
|
Abstract
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.
Download
BibTeX
Authors at the institute