Font Size: a A A

Discovery And Research Of The Community Structure In Large-scale Software

Posted on:2011-07-22Degree:MasterType:Thesis
Country:ChinaCandidate:Z K YangFull Text:PDF
GTID:2218330368999793Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Community structure is an important characteristic in real complex networks. Seeking and analyzing community structure contribute to a better understanding of network structure. In recent years, with the emergence of complex network research, many researchers found that there is complex network features in software network, which has opened a new road for the research of community structure in software and also provides a new perspective for software engineering research. In response to these problems, this paper tries to find the best community structure in the software with background to several interdisciplinary."High Coheres and Low Coupling" is design principles of the object-oriented software, which is either designed for the program code, or is designed for design patterns, but it is lack of anglicizing on the structure of object-oriented software in a higher level. Therefore, this paper proposes a fast heuristic algorithm (LCDA local community detecting algorithm) to find community structure in software network, and use the modality to measure whether partitioning results of community discovery algorithm is reasonable or not. The experiments show that the algorithm can good divide community structure. This paper collects 253 samples of object-oriented software and uses LCDA algorithm to divide them into communities, and then analysis of the results using statistical methods for community after the division, which mainly on the correlation analysis between community structure in software and software-scale and the changing rule of community structure in software evolution.In fact, the result of community's discovery is the ideal structure of software system which obtained from the modular point of view. The result can provide reference for software developers and designers to improve software modularity level, and also help software developers increase their understanding of software system, which has a great importance for understanding and testing software architecture.
Keywords/Search Tags:Software Engineering, Software Network, Community Structure, LCDA Local Community Discovery Algorithm, Modularity
PDF Full Text Request
Related items