DocumentCode
2042600
Title
Comparison of clustering algorithms in the context of software evolution
Author
Wu, Jingwei ; Hassan, Ahmed E. ; Holt, Richard C.
Author_Institution
Sch. of Comput. Sci., Waterloo Univ., Ont., Canada
fYear
2005
fDate
26-29 Sept. 2005
Firstpage
525
Lastpage
535
Abstract
To aid software analysis and maintenance tasks, a number of software clustering algorithms have been proposed to automatically partition a software system into meaningful subsystems or clusters. However, it is unknown whether these algorithms produce similar meaningful clusterings for similar versions of a real-life software system under continual change and growth. This paper describes a comparative study of six software clustering algorithms. We applied each of the algorithms to subsequent versions from five large open source systems. We conducted comparisons based on three criteria respectively: stability (Does the clustering change only modestly as the system undergoes modest updating?), authoritative-ness (Does the clustering reasonably approximate the structure an authority provides?) and extremity of cluster distribution (Does the clustering avoid huge clusters and many very small clusters?). Experimental results indicate that the studied algorithms exhibit distinct characteristics. For example, the clusterings from the most stable algorithm bear little similarity to the implemented system structure, while the clusterings from the least stable algorithm has the best cluster distribution. Based on obtained results, we claim that current automatic clustering algorithms need significant improvement to provide continual support for large software projects.
Keywords
public domain software; software maintenance; software prototyping; authoritativeness criteria; automatic clustering algorithm; cluster distribution criteria; open source system; real-life software system; software clustering algorithm; software evolution; software maintenance; software projects; stability criteria; Algorithm design and analysis; Clustering algorithms; Computer architecture; Computer science; Documentation; Open source software; Partitioning algorithms; Software algorithms; Software maintenance; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance, 2005. ICSM'05. Proceedings of the 21st IEEE International Conference on
ISSN
1063-6773
Print_ISBN
0-7695-2368-4
Type
conf
DOI
10.1109/ICSM.2005.31
Filename
1510147
Link To Document