DocumentCode
588614
Title
Dependence communities in source code
Author
Hamilton, John ; Danicic, S.
Author_Institution
Dept. of Comput., Univ. of London, London, UK
fYear
2012
fDate
23-28 Sept. 2012
Firstpage
579
Lastpage
582
Abstract
The concept of community structure arises from the analysis of social networks in sociology. Community structure can be found in many real world graphs other than social networks. Recently, efficient community detection algorithms have been developed which can cope with very large graphs with millions of nodes and potentially billions of edges. So, for the first time, there is the potential for investigating communities in real industrial-strength software at the statement level. We provide empirical evidence that dependence between statements in software does, indeed, give rise to community structure. Initial findings suggest that the separate dependence communities are far from arbitrary. They appear to decompose systems into areas of distinct functionality. This new approach to system decomposition has tremendous potential in many areas of software engineering, particularly in reverse engineering of legacy software and program comprehension.
Keywords
graph theory; reverse engineering; software maintenance; community detection algorithms; community structure concept; dependence communities; distinct functionality; legacy software; program comprehension; real industrial-strength software; real world graphs; reverse engineering; social network analysis; sociology; software engineering; source code; statement level; system decomposition; Communities; Conferences; Detection algorithms; Semantics; Software engineering; Software maintenance;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance (ICSM), 2012 28th IEEE International Conference on
Conference_Location
Trento
ISSN
1063-6773
Print_ISBN
978-1-4673-2313-0
Type
conf
DOI
10.1109/ICSM.2012.6405325
Filename
6405325
Link To Document