SOSRepair: Expressive Semantic Search for Real-World Program Repair
Automated program repair holds the potential to significantly reduce software maintenance effort and cost. However, recent studies have shown that it often produces low-quality patches that repair some but break other functionality. We hypothesize that producing patches by replacing likely faulty regions of code with semantically-similar code fragments, and doing so at a higher level of granularity than prior approaches can better capture abstraction and the intended specification, and can improve repair quality. We create SOSRepair, an automated program repair technique that uses semantic code search to replace candidate buggy code regions with behaviorally-similar (but not identical) code written by humans. SOSRepair is the first such technique to scale to real-world defects in real-world systems. On a subset of the ManyBugs benchmark of such defects, SOSRepair produces patches for 22 (34%) of the 65 defects, including 3, 5, and 6 defects for which previous state-of-the-art techniques Angelix, Prophet, and GenProg do not, respectively. On these 22 defects, SOSRepair produces more patches (9, 41%) that pass all independent tests than the prior techniques. We demonstrate a relationship between patch granularity and the ability to produce patches that pass all independent tests. We then show that fault localization precision is a key factor in SOSRepair’s success. Manually improving fault localization allows SOSRepair to patch 23 (35%) defects, of which 16 (70%) pass all independent tests. We conclude that (1) higher-granularity, semantic-based patches can improve patch quality, (2) semantic search is promising for producing high-quality real-world defect repairs, (3) research in fault localization can significantly improve the quality of program repair techniques, and (4) semi-automated approaches in which developers suggest fix locations may produce high-quality patches.
Thu 12 NovDisplayed time zone: (UTC) Coordinated Universal Time change
01:30 - 02:00 | Testing 2Tool Demos / Paper Presentations / Journal First / Industry Papers / Research Papers at Virtual room 2 | ||
01:30 2mTalk | Clustering Test Steps in Natural Language toward Automating Test Automation Industry Papers Linyi Li University of Illinois at Urbana-Champaign, Zhenwen Li Peking University, China, Weijie Zhang Tencent, China, Jun Zhou Tencent, China, Pengcheng Wang Tencent, China, Jing Wu Tencent, China, Guanghua He Tencent, China, Xia Zeng Tencent, China, Yuetang Deng Tencent, Inc., Tao Xie Peking University DOI | ||
01:33 1mTalk | PRF: A Framework for Building Automatic Program Repair Prototypes for JVM-Based Languages Tool Demos DOI Pre-print | ||
01:35 1mTalk | SOSRepair: Expressive Semantic Search for Real-World Program Repair Journal First Afsoon Afzal Carnegie Mellon University, Manish Motwani University of Massachusetts, Amherst, Kathryn Stolee North Carolina State University, Yuriy Brun University of Massachusetts Amherst, Claire Le Goues Carnegie Mellon University Link to publication DOI Pre-print Media Attached | ||
01:37 1mTalk | tsDetect: An Open Source Test Smells Detection Tool Tool Demos Anthony Peruma Rochester Institute of Technology, Khalid Almalki Rochester Institute of Technology, USA, Christian D. Newman Rochester Institute of Technology, Mohamed Wiem Mkaouer Rochester Institute of Technology, Ali Ouni ETS Montreal, University of Quebec, Fabio Palomba University of Salerno DOI Pre-print Media Attached | ||
01:39 1mTalk | Understanding and Automatically Detecting Conflicting Interactions between Smart Home IoT Applications Research Papers Rahmadi Trimananda University of California at Irvine, USA, Seyed Amir Hossein Aqajari University of California at Irvine, USA, Jason Chuang University of California at Irvine, USA, Brian Demsky University of California at Irvine, Guoqing Harry Xu University of California at Los Angeles, Shan Lu University of Chicago, USA DOI Pre-print Media Attached File Attached | ||
01:41 19mTalk | Conversations on Testing 2 Paper Presentations Afsoon Afzal Carnegie Mellon University, Anthony Peruma Rochester Institute of Technology, Linyi Li University of Illinois at Urbana-Champaign, Rahmadi Trimananda University of California at Irvine, USA, M: Corina S. Păsăreanu Carnegie Mellon University Silicon Valley, NASA Ames Research Center |