Understanding Automatically-Generated Patches Through Symbolic Invariant Differences
Developer trust is a major barrier to the deployment of automatically-generated patches. Understanding the effect of a patch is a key element of that trust. We find that differences in sets of formal invariants characterize patch differences and that implication-based distances in invariant space characterize patch similarities. When one patch is similar to another it often contains the same changes as well as additional behavior; this pattern is well-captured by logical implication. We can measure differences using a theorem prover to verify implications between invariants implied by separate programs. Although effective, theorem provers are computationally intensive, but we find that string distance is an efficient heuristic for our implication-based distance measurements. We propose to use distances between patches to construct a hierarchy highlighting patch similarities. We evaluate our approach on over 300 patches and find that it correctly categorizes programs into semantically similar clusters. Clustering programs reduces human effort by reducing the number of semantically distinct patches that must be considered by over 50%, thus reducing the time required to establish trust in automatically generated repairs.
Wed 13 NovDisplayed time zone: Tijuana, Baja California change
10:40 - 12:20 | Program RepairResearch Papers / Demonstrations / Journal First Presentations at Cortez 2&3 Chair(s): Yingfei Xiong Peking University | ||
10:40 20mTalk | Apricot: A Weight-Adaptation Approach to Fixing Deep Learning Models Research Papers | ||
11:00 20mTalk | Re-factoring based Program Repair applied to Programming Assignments Research Papers Yang Hu The University of Texas at Austin, Umair Z. Ahmed National University of Singapore, Sergey Mechtaev University College London, Ben Leong National University of Singapore, Abhik Roychoudhury National University of Singapore Pre-print | ||
11:20 20mTalk | InFix: Automatically Repairing Novice Program Inputs Research Papers Madeline Endres University of Michigan, Georgios Sakkas University of California, San Diego, Benjamin Cosman University of California at San Diego, USA, Ranjit Jhala University of California, San Diego, Westley Weimer University of Michigan Pre-print | ||
11:40 20mTalk | Astor: Exploring the Design Space of Generate-and-Validate Program Repair beyond GenProg Journal First Presentations Matias Martinez Université Polytechnique Hauts-de-France, Martin Monperrus KTH Royal Institute of Technology Pre-print | ||
12:00 10mDemonstration | PraPR: Practical Program Repair via Bytecode Mutation Demonstrations | ||
12:10 10mTalk | Understanding Automatically-Generated Patches Through Symbolic Invariant Differences Research Papers Padraic Cashin Arizona State University, Cari Martinez University of New Mexico, Stephanie Forrest Arizona State University, Westley Weimer University of Michigan Pre-print |