Font Size: a A A

A Study On Improved JAVA Software Evolution Analysis Technique Based On Abstract Syntax Tree

Posted on:2014-01-25Degree:MasterType:Thesis
Country:ChinaCandidate:L JiangFull Text:PDF
GTID:2248330395495764Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Evolution is an important part of the software life cycle. Mining software warehouse code information can provide more useful information of software evolution. Software evolution information can help improve our ability to create and maintain software systems. Although source code repository contains a lot of historical information, lack of effective tools limit the application of these information. Studies have shown that in the process of evolving software to modify, fine-grained code changes are of great significance to software evolution intelligent analysis tools.Based on the abstract syntax tree technology, we constructed an AST model for each program and then use a series of tree nodes matching, editing operations generation, change classification mapping algorithms to get program evolution information in detail, such as the modification of the software classes, attribute modification, simple statement, condition and loop statements modification. During 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 constructed different versions of source code into abstract syntax trees, and used a tree matching algorithm which combined multiple string matching algorithms and used bilateral match, dynamic threshold strategy 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 and456changes were specified manually. Our method showed a good performance on this benchmark with the average change number bias between2.25and12.41, and the average change number error percentage is controlled fewer than16.67%.
Keywords/Search Tags:Abstract Syntax Tree, Software Evolution, Program Differential Analysis
PDF Full Text Request
Related items