Abstract:
During software evolution, change detection plays an important role in software maintenance. For example, according to the changes, developers need to verify whether the ...Show MoreMetadata
Abstract:
During software evolution, change detection plays an important role in software maintenance. For example, according to the changes, developers need to verify whether the evolved contents are consistent with the evolution plan, and making a regression testing plan. Right now, the text-based method and the AST-based matching method are widely used to detect changes. However, the text-based method cannot identify updating and renaming, so the accuracy of its detecting result is not high enough; the AST-based matching method only reflects the changes between files, so its detecting result is incomplete for understanding software evolution from an overall perspective. In order to solve the above problems, we propose a software multiple-level change detection method based on two-step MPAT (multilevel program analysis tree) matching, which detects changes between two programs from multiple levels to improve accuracy and proposes comprehensive change information. Our approach consists of three steps. Firstly, we construct MPAT for each program. Secondly, we implement the two-step matching algorithm to detect changes based on the two MPATs. Thirdly, these changes are classified and clustered. Finally, we develop ChangeAnalyzer to implement our approach, and conduct our experiments on six projects to evaluate the accuracy, performance and usefulness of ChangeAnalyzer.
Published in: 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)
Date of Conference: 24-27 February 2019
Date Added to IEEE Xplore: 18 March 2019
ISBN Information:
Print on Demand(PoD) ISSN: 1534-5351