Title :
Identifying modules via concept analysis
Author :
Siff, Michael ; Reps, Thomas
Author_Institution :
Dept. of Math., Sarah Lawrence Coll., Bronxville, NY, USA
Abstract :
Describes 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 to be correct
Keywords :
pattern matching; reverse engineering; semantic networks; software engineering; subroutines; algorithm correctness; algorithmic framework; concept analysis; concept lattice; concept partitions; design recovery; lattice theory; legacy code; modularization; module identification; negative information; object attributes; positive information; reverse engineering; similarity identification; software migration; software restructuring; Computer languages; Computer science; Information analysis; Lattices; Partitioning algorithms; Prototypes; Queueing analysis; Reverse engineering; Software systems; Software tools;
Journal_Title :
Software Engineering, IEEE Transactions on