Overfitting in Semantics-based Automated Program Repair

被引:14
|
作者
Le, Xuan-Bach D. [1 ]
Thung, Ferdian [1 ]
Lo, David [1 ]
Le Goues, Claire [2 ]
机构
[1] Singapore Management Univ, Singapore, Singapore
[2] Carnegie Mellon Univ, Pittsburgh, PA 15213 USA
关键词
Automated Program Repair; Program Synthesis; Symbolic Execution; Patch Overfitting;
D O I
10.1145/3180155.3182536
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Existing APR techniques can be generally divided into two families: semantics- vs. heuristics-based. Semantics-based APR uses symbolic execution and test suites to extract semantic constraints, and uses program synthesis to synthesize repairs that satisfy the extracted constraints. Heuristic-based APR generates large populations of repair candidates via source manipulation, and searches for the best among them. Both families largely rely on a primary assumption that a program is correctly patched if the generated patch leads the program to pass all provided test cases. Patch correctness is thus an especially pressing concern. A repair technique may generate overfitting patches, which lead a program to pass all existing test cases, but fails to generalize beyond them. In this work, we revisit the overfitting problem with a focus on semantics-based APR techniques, complementing previous studies of the overfitting problem in heuristics-based APR. We perform our study using IntroClass and Codeflaws benchmarks, two datasets well-suited for assessing repair quality, to systematically characterize and understand the nature of overfitting in semantics-based APR. We find that similar to heuristics-based APR, overfitting also occurs in semantics-based APR in various different ways.
引用
收藏
页码:163 / 163
页数:1
相关论文
共 50 条
  • [1] Overfitting in semantics-based automated program repair
    Xuan Bach D. Le
    Ferdian Thung
    David Lo
    Claire Le Goues
    Empirical Software Engineering, 2018, 23 : 3007 - 3033
  • [2] Overfitting in semantics-based automated program repair
    Le, Xuan Bach D.
    Thung, Ferdian
    Lo, David
    Le Goues, Claire
    EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (05) : 3007 - 3033
  • [3] Empirical Study on Synthesis Engines for Semantics-Based Program Repair
    Le, Xuan-Bach D.
    Lo, David
    Le Goues, Claire
    32ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2016), 2016, : 423 - 427
  • [4] SEMANTICS-BASED PROGRAM INTEGRATION
    REPS, T
    HORWITZ, S
    LECTURE NOTES IN COMPUTER SCIENCE, 1988, 300 : 1 - 20
  • [5] Semantics-Based Automated Service Discovery
    Paliwal, Aabhas V.
    Shafiq, Basit
    Vaidya, Jaideep
    Xiong, Hui
    Adam, Nabil
    IEEE TRANSACTIONS ON SERVICES COMPUTING, 2012, 5 (02) : 260 - 275
  • [6] Semantics-based Automated Web Testing
    Guo, Hai-Feng
    Ouyang, Qing
    Siy, Harvey
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2015, (188): : 59 - 74
  • [7] Semantics-Based Program Verifiers for All Languages
    Stefanescu, Andrei
    Park, Daejun
    Yuwen, Shijiao
    Li, Yilong
    Rosu, Grigore
    ACM SIGPLAN NOTICES, 2016, 51 (10) : 74 - 91
  • [8] Is the Cure Worse Than the Disease? Overfitting in Automated Program Repair
    Smith, Edward K.
    Barr, Earl T.
    Le Goues, Claire
    Brun, Yuriy
    2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, : 532 - 543
  • [9] Semantics-based generation of verification conditions by program specialization
    De Angelis, E.
    Fioravanti, F.
    Pettorossi, A.
    Proietti, M.
    PROCEEDINGS OF THE 17TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING (PPDP 2015), 2015, : 91 - 102
  • [10] Semantics-Based Crossover for Program Synthesis in Genetic Programming
    Forstenlechner, Stefan
    Fagan, David
    Nicolau, Miguel
    O'Neill, Michael
    ARTIFICIAL EVOLUTION, EA 2017, 2018, 10764 : 58 - 71