Title :
Automatically Extracting Instances of Code Change Patterns with AST Analysis
Author :
Martinez, Manuel ; Duchien, Laurence ; Monperrus, Martin
Author_Institution :
INRIA, Univ. of Lille, Lille, France
Abstract :
A code change pattern represents a kind of recurrent modification in software. For instance, a known code change pattern consists of the change of the conditional expression of an if statement. Previous work has identified different change patterns. Complementary to the identification and definition of change patterns, the automatic extraction of pattern instances is essential to measure their empirical importance. For example, it enables one to count and compare the number of conditional expression changes in the history of different projects. In this paper we present a novel approach for search patterns instances from software history. Our technique is based on the analysis of Abstract Syntax Trees (AST) files within a given commit. We validate our approach by counting instances of 18 change patterns in 6 open-source Java projects.
Keywords :
computational linguistics; program diagnostics; software maintenance; AST files; abstract syntax trees; code change pattern; open-source Java projects; pattern instances automatic extraction; recurrent software modification; search patterns instances; software history; Catalogs; Context; History; Java; Open source software; Syntactics;
Conference_Titel :
Software Maintenance (ICSM), 2013 29th IEEE International Conference on
Conference_Location :
Eindhoven
DOI :
10.1109/ICSM.2013.54