DocumentCode :
3342837
Title :
Experiments with clustering as a software remodularization method
Author :
Anquetil, Nicolas ; Lethbridge, Timothy C.
Author_Institution :
Sch. of Inf. Technol. & Eng., Ottawa Univ., Ont., Canada
fYear :
1999
fDate :
6-8 Oct 1999
Firstpage :
235
Lastpage :
255
Abstract :
As valuable software systems get old, reverse engineering becomes more and more important to the companies that have to maintain the code. Clustering is a key activity in reverse engineering to discover a better design of the systems or to extract significant concepts from the code. Clustering is an old activity, highly sophisticated, offering many methods to answer different needs. Although these methods have been well documented in the past, these discussions may not apply entirely to the reverse engineering domain. We study some clustering algorithms and other parameters to establish whether and why they could be used for software remodularization. We study three aspects of the clustering activity: abstract descriptions chosen for the entities to cluster; metrics computing coupling between the entities; and clustering algorithms. The experiments were conducted on three public domain systems (gcc, Linux and Mosaic) and a real world legacy system (2 million LOC). Among other things, we confirm the importance of a proper description scheme of the entities being clustered, we list a few good coupling metrics to use and characterize the quality of different clustering algorithms. We also propose novel description schemes not directly based on the source code and we advocate better formal evaluation methods for the clustering results
Keywords :
reverse engineering; software maintenance; software metrics; Linux; Mosaic; abstract descriptions; clustering activity; clustering algorithms; coupling metrics; description scheme; description schemes; formal evaluation methods; gcc; metrics; public domain systems; real world legacy system; reverse engineering domain; software remodularization; software remodularization method; source code; valuable software systems; Clustering algorithms; Clustering methods; Information technology; Linux; Maintenance engineering; Reverse engineering; Software engineering; Software maintenance; Software systems; Systems engineering and theory;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Reverse Engineering, 1999. Proceedings. Sixth Working Conference on
Conference_Location :
Atlanta, GA
Print_ISBN :
0-7695-0303-9
Type :
conf
DOI :
10.1109/WCRE.1999.806964
Filename :
806964
Link To Document :
بازگشت