Font Size: a A A

Multi-level Change Detection And Its Application In Architecture Evolution

Posted on:2019-03-28Degree:MasterType:Thesis
Country:ChinaCandidate:D D WangFull Text:PDF
GTID:2428330596460898Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Software evolution refers to the process of software maintenance during the lifecycle of software system.As software continues to evolve,The architecture and code of the software may change in software evolution process.Mining change information of software is significant to the study of software evolution.Software Change Analysis refers to the process of mining software evolution change information that reflects well the software developer's intent from two versions of the software.The change analysis method based on tree matching converts the source program into a tree structure,and calculate the editing script of two trees using the set of matched nodes.However,the traditional tree-based change detection method is limited to analyzing two pieces of source codes and has low analysis efficiency.In addition,software change is the fundamental result of the software evolution process,and is the foundation of other software evolution researches.Therefore,it is significant to apply change detection to other software evolution research processes.We propose the multi-level change detection method based on Program Analysis Tree in this thesis in order to obtain multi-level change information in the process of software evolution.This method takes the multi-level Program Analysis Tree as the tree-form data structure of the programs,so it can obtain multi-level change information of the programs.The two-step matching algorithm proposed in this thesis,whitch is the first top-down rapid matching,and then the bottom-up local matching,significantly improve the tree node matching efficiency and reduce the probability of occurrence of mis-match.The idea of change cluster proposed in this thesis improves the understandability of the results of change detection.In addition,this thesis proposes a software architecture evolution defect analysis method based on multi-level changes,which uses multi-level change information to calculate the contribution of software evolution contents to the architecture defects and accurately locate the physical causes of the occurrence of architecture defects.The experimental results show that the multi-level change detection method based on Program Analysis Tree can detect multi-level change information,and is better in the recall rate and analysis efficiency than the traditional AST-based change detection method.In addition,the software architecture evolution defect analysis method based on change detection proposed in this thesis can accurately locate the change operations that cause architectural defects,whitch can be helpful for developers and maintainers to maintain the architecture and code.
Keywords/Search Tags:Multi-level Change Detection, Software Evolution, Program Analysis Tree, Change Cluster, Architectural Evolution Defect Analysis
PDF Full Text Request
Related items