Identifying Modules Via Concept Analysis
Michael Siff and Thomas Reps
We describe a general technique for identifying modules in legacy code.
The method is based on concept analysis---a branch of lattice theory
that can be used to identify similarities among a set of objects
based on their attributes. 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.
(Click here to access the paper:
paper, via IEEE Explore.)