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 Nov Times are displayed in 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 LiUniversity of Illinois at Urbana-Champaign, Zhenwen LiPeking University, China, Weijie ZhangTencent, China, Jun ZhouTencent, China, Pengcheng WangTencent, China, Jing WuTencent, China, Guanghua HeTencent, China, Xia ZengTencent, China, Yuetang DengTencent, Inc., Tao XiePeking 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 AfzalCarnegie Mellon University, Manish MotwaniUniversity of Massachusetts, Amherst, Kathryn StoleeNorth Carolina State University, Yuriy BrunUniversity of Massachusetts Amherst, Claire Le GouesCarnegie Mellon University Link to publication DOI Pre-print Media Attached | ||
01:37 1mTalk | tsDetect: An Open Source Test Smells Detection Tool Tool Demos Anthony PerumaRochester Institute of Technology, Khalid AlmalkiRochester Institute of Technology, USA, Christian D. NewmanRochester Institute of Technology, Mohamed Wiem MkaouerRochester Institute of Technology, Ali OuniETS Montreal, University of Quebec, Fabio PalombaUniversity of Salerno DOI Pre-print Media Attached | ||
01:39 1mTalk | Understanding and Automatically Detecting Conflicting Interactions between Smart Home IoT Applications Research Papers Rahmadi TrimanandaUniversity of California at Irvine, USA, Seyed Amir Hossein AqajariUniversity of California at Irvine, USA, Jason ChuangUniversity of California at Irvine, USA, Brian DemskyUniversity of California at Irvine, Guoqing Harry XuUniversity of California at Los Angeles, Shan LuUniversity of Chicago, USA DOI Pre-print Media Attached File Attached | ||
01:41 19mTalk | Conversations on Testing 2 Paper Presentations Afsoon AfzalCarnegie Mellon University, Anthony PerumaRochester Institute of Technology, Linyi LiUniversity of Illinois at Urbana-Champaign, Rahmadi TrimanandaUniversity of California at Irvine, USA, M: Corina S PasareanuCarnegie Mellon University Silicon Valley, NASA Ames Research Center |