Issue No. 06 - November/December (1999 vol. 25)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.824377
<p><b>Abstract</b>—We describe a general technique for identifying modules in legacy code. The method is based on <it>concept analysis</it>—a branch of lattice theory that can be used to identify similarities among a set of <it>objects</it> based on their <it>attributes</it>. We discuss how concept analysis can identify potential modules using both “positive” and “negative” information. We present an algorithmic framework to construct a lattice of concepts from a program, where each concept represents a potential module. We define the notion of a concept partition, present an algorithm for discovering all concept partitions of a given concept lattice, and prove the algorithm correct.</p>
Concept analysis, modularization, software migration, software restructuring, reverse engineering, design recovery.
M. Siff and T. Reps, "Identifying Modules via Concept Analysis," in IEEE Transactions on Software Engineering, vol. 25, no. , pp. 749-768, 1999.