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.
Michael Siff, Thomas Reps, "Identifying Modules via Concept Analysis", IEEE Transactions on Software Engineering, vol.25, no. 6, pp. 749-768, November/December 1999, doi:10.1109/32.824377