Blogs (1) >>
ASE 2019
Sun 10 - Fri 15 November 2019 San Diego, California, United States
Tue 12 Nov 2019 17:00 - 17:20 at Cortez 2&3 - Code and Artifact Analysis Chair(s): Sarah Nadi

Inferring program transformations from concrete program changes has many potential uses, such as applying systematic program edits, refactoring, and automated program repair. Existing work for inferring program transformations usually rely on statistical information over a potentially large set of program-change examples. However, in many practical scenarios we do not have such a large set of program-change examples.

In this paper, we address the challenge of inferring a program transformation from one single example. Our core insight is that “big code” can provide effective guide for the generalization of a concrete change into a program transformation, i.e., code elements appearing in many files are general and should not be abstracted away. We first propose a framework for transformation inference, where programs are represented as hypergraphs to enable fine-grained generalization of transformations. We then design a transformation inference approach, GENPAT, that infers a program transformation based on code context and statistics from a big code corpus.

We have evaluated GENPAT under two distinct application scenarios, systematic editing and program repair. The evaluation on systematic editing shows that GENPAT significantly outperforms a state-of-the-art approach, SYDIT, with up to 5.5x correctly transformed cases. The evaluation on program repair suggests that GENPAT has the potential to be integrated in advanced program repair tools—GENPAT successfully repaired 19 real-world bugs in the Defects4J benchmark by simply applying transformations inferred from existing patches, where 4 bugs have never been repaired by any existing technique. Overall, the evaluation results suggest that GENPAT is effective for transformation inference and can potentially be adopted for many different applications.

Tue 12 Nov

ase-2019-paper-presentations
16:00 - 17:40: Papers - Code and Artifact Analysis at Cortez 2&3
Chair(s): Sarah NadiUniversity of Alberta
ase-2019-papers16:00 - 16:20
Talk
Emotions Extracted from Text vs. True Emotions –An Empirical Evaluation in SE Context
Yi WangShenzhen University
ase-2019-Journal-First-Presentations16:20 - 16:40
Talk
Collaborative feature location in models through automatic query expansion
Francisca PérezSVIT Research GroupUniversidad San Jorge, Jaime FontSan Jorge University, Spain, Lorena ArcegaSan Jorge University, Carlos CetinaSan Jorge University, Spain
Link to publication
ase-2019-papers16:40 - 17:00
Talk
Learning from Examples to Find Fully Qualified Names of API Elements in Code Snippets
C M Khaled SaifullahDepartment of Computer Science, University of Saskatchewan, Muhammad AsaduzzamanPostdoctoral Research Fellow, Software Analysis and Intelligence Lab, Queen's University, Canada, Chanchal K. RoyUniversity of Saskatchewan
Pre-print
ase-2019-papers17:00 - 17:20
Talk
Inferring Program Transformations From Singular Examples via Big Code
Jiajun JiangPeking University, Luyao RenPeking University, Yingfei XiongPeking University, Lingming ZhangThe University of Texas at Dallas
Link to publication Pre-print
ase-2019-Journal-First-Presentations17:20 - 17:40
Talk
Extracting and studying the Logging-Code-Issue-Introducing changes in Java-based large-scale open source software systems
Boyuan ChenYork University, Zhen Ming (Jack) JiangYork University
Link to publication