Results 1 
2 of
2
Reengineering of Configurations Based on Mathematical Concept Analysis
 ACM Transactions on Software Engineering and Methodology
, 1996
"... We apply mathematical concept analysis to the problem of reengineering configurations. Concept analysis 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 ..."
Abstract

Cited by 50 (6 self)
 Add to MetaCart
We apply mathematical concept analysis to the problem of reengineering configurations. Concept analysis 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 configurationspecific code pieces are controlled by the preprocessor. The algorithm will compute a socalled concept lattice, which —when visually displayed — offers remarkable insight into the structure and properties of possible configurations. The lattice not only displays tinegrained dependencies between configurations, but also visualizes the overall quality of configuration structures according to software engineering principles. In a second step, interferences between configurations can be analyzed in order to restructure or simplify configurations. Interferences showing up in the lattice indicate high coupling and low cohesion between configuration concepts. Source files can then be simplified according to the lattice structure. Finally, we show how governing expressions can be simplified by utilizing an isomorphism theorem of mathematical concept analysis.
Algorithms for Concept Lattice Decomposition and their Application
, 1995
"... We present algorithms for horizontal decomposition, subdirect decomposition, and subtensorial decomposition of concept lattices. The implementations of these algorithms are described, and their complexity is investigated. We then apply the decomposition algorithms to reengineering problems in softwa ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
We present algorithms for horizontal decomposition, subdirect decomposition, and subtensorial decomposition of concept lattices. The implementations of these algorithms are described, and their complexity is investigated. We then apply the decomposition algorithms to reengineering problems in software engineering, and present several examples. It turns out that concept lattice decomposition is useful not only for understanding old software, but also for restructuring it. 1 Introduction Analysing old software has become an important topic in software technology, as there are millions of lines of legacy code which lack proper documentation; due to ongoing modifications, software entropy has increased steadily. If nothing is done, such software will die of old age  and the knowledge embodied in the software is inevitably lost. As a first step in "software geriatry", one must understand the structure of old software and reconstruct abstract concepts from the source code (called "software...