DocumentCode
1655368
Title
AST Based JAVA Software Evolution Analysis
Author
Lu Jiang ; Zhiyi Zhang ; Zhihong Zhao
Author_Institution
Software Inst., Nanjing Univ., Nanjing, China
fYear
2013
Firstpage
180
Lastpage
183
Abstract
In the process of software evolution, software change information can help software developers and system analysts to get a better understanding of differential part of software. In this paper, we construct different versions of source code into abstract syntax trees, and use an improved tree matching algorithm which combines multiple string matching algorithms, bilateral best match strategy and predicate information of program to improve the match result. Also a detailed change type list is defined and all the tree editing operations will be mapped to refined program change classification. We evaluated our tree match algorithm on a medium-size project of different versions. Ten typical classes were picked as a benchmark and 456 changes were specified manually. Our method show a good performance on this benchmark with the average change number bias controlled in 1.75, and the average change number error percentage is controlled fewer than 5.38%.
Keywords
Java; program diagnostics; software maintenance; trees (mathematics); AST based JAVA software evolution analysis; abstract syntax trees; bilateral best match strategy; multiple string matching algorithm; predicate information; program change classification; software change information; source code; tree editing operation; tree match algorithm; tree matching algorithm; Abstracts; Algorithm design and analysis; Classification algorithms; Data mining; Software; Software algorithms; Syntactics; Abstract Syntax Tree; Program Differential Analysis; Software Evolution;
fLanguage
English
Publisher
ieee
Conference_Titel
Web Information System and Application Conference (WISA), 2013 10th
Conference_Location
Yangzhou
Print_ISBN
978-1-4799-3218-4
Type
conf
DOI
10.1109/WISA.2013.42
Filename
6778633
Link To Document