Font Size: a A A

Software Architecture Recovery Technology Based On The Extracted Hierarchical Structure Information

Posted on:2019-03-03Degree:MasterType:Thesis
Country:ChinaCandidate:Y L ZhangFull Text:PDF
GTID:2428330596460920Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the increasing complexity and scale of software systems,the complexity and variability of software architectures have increased.However,the actual situation is that with the change of the evolution cycle of software,due to the lack of timely and adequate updating of the documents,the deviation between the design documents and the actual architecture is becoming larger and larger.It is difficult to achieve an actual and comprehensive understanding system only through documents.The development team often needs to understand the architecture manually though reading the code,and then maintain the system.It is timeconsuming and laborious to read code manually,by which not everyone can fully understand the real architecture of the system.During the evolution of the system,there may be a phenomenon that the expected or conceptual architecture deviates from the actual architecture,that is,the software architecture is corroded.In this case,people have realized the true significance of a clear and comprehensible software architecture.A systematic research is carried out about the current generic processes,methods and tools for recovering software architectures.A recovery technique framework is summarized,including architectural information extraction and architecture recovery.The thesis is to recovery architecture automatically based on the extracted hierarchical structure information.The main contributions of the thesis are as follows:Firstly,this article extracts the required architectural information from the project source code,compile and build files,project directory and ideal architecture,which can ensure the consistency of the logical view,development view and construction view of the architecture.Secondly,this thesis proposes a component identification method based on multi-rule hybrid clustering.Through the analysis of the module dependency graph and the established rules,the components are identified by the perspectives of dependency type and dependency structure.And then a highly abstract model of the target system is achieved.Thirdly,the distance metric is introduced to calculate the distance of modules.According to it,a centerlevel hybrid clustering algorithm is adopted to identify the information of component efficiently and accurately.After each iteration,hierarchical aggregation is performed around the selected cluster center.Finally,according to the technique framework,the process has been implemented in a tool called Arc Recovery Tool.Experiments based on a large number of open source programs show that the architecture recovery technology in this thesis has better accuracy and efficiency,which also can adapt to larger-scale software projects.The recovered architecture diagram not only has good comprehensibility,but also helps the people engaged in developping and maintaining understand the project.Because it can effectively reflect the situation of software evolution,it provides the important data foundation for the study of software development and evolution.
Keywords/Search Tags:Architecture recovery, Architectural information, Modularity, Componentization Rules, Hybrid clustering
PDF Full Text Request
Related items