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 Nov Times are displayed in time zone: Tijuana, Baja California change
10:40 - 12:20: Program RepairPapers / Research Papers / Demonstrations / Journal First Presentations at Cortez 2&3 Chair(s): Yingfei XiongPeking University | |||
10:40 - 11:00 Talk | Apricot: A Weight-Adaptation Approach to Fixing Deep Learning Models Research Papers | ||
11:00 - 11:20 Talk | Re-factoring based Program Repair applied to Programming Assignments Research Papers Yang HuThe University of Texas at Austin, Umair Z. AhmedNational University of Singapore, Sergey MechtaevUniversity College London, Ben LeongNational University of Singapore, Abhik RoychoudhuryNational University of Singapore Pre-print | ||
11:20 - 11:40 Talk | InFix: Automatically Repairing Novice Program Inputs Research Papers Madeline EndresUniversity of Michigan, Georgios SakkasUniversity of California, San Diego, Benjamin CosmanUniversity of California at San Diego, USA, Ranjit JhalaUniversity of California, San Diego, Westley WeimerUniversity of Michigan Pre-print | ||
11:40 - 12:00 Talk | Astor: Exploring the Design Space of Generate-and-Validate Program Repair beyond GenProg Journal First Presentations Matias MartinezUniversité Polytechnique Hauts-de-France, Martin MonperrusKTH Royal Institute of Technology Pre-print | ||
12:00 - 12:10 Demonstration | PraPR: Practical Program Repair via Bytecode Mutation Demonstrations | ||
12:10 - 12:20 Talk | Understanding Automatically-Generated Patches Through Symbolic Invariant Differences Research Papers Padraic CashinArizona State University, Cari MartinezUniversity of New Mexico, Stephanie ForrestArizona State University, Westley WeimerUniversity of Michigan Pre-print |