Mining StackOverflow for Program Repair

被引:0
|
作者
Liu, Xuliang [1 ]
Zhong, Hao [2 ]
机构
[1] Shanghai Jiao Tong Univ, Sch Software, Shanghai, Peoples R China
[2] Shanghai Jiao Tong Univ, Dept Comp Sci & Engn, Shanghai, Peoples R China
关键词
program repair; Stack Overflow; repair template; TOOL;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In recent years, automatic program repair has been a hot research topic in the software engineering community, and many approaches have been proposed. Although these approaches produce promising results, some researchers criticize that existing approaches are still limited in their repair capability, due to their limited repair templates. Indeed, it is quite difficult to design effective repair templates. An award-wining paper analyzes thousands of manual bug fixes, but summarizes only ten repair templates. Although more bugs are thus repaired, recent studies show such repair templates are still insufficient. We notice that programmers often refer to Stack Overflow, when they repair bugs. With years of accumulation, Stack Overflow has millions of posts that are potentially useful to repair many bugs. The observation motives our work towards mining repair templates from Stack Overflow. In this paper, we propose a novel approach, called SOFIX, that extracts code samples from Stack Overflow, and mines repair patterns from extracted code samples. Based on our mined repair patterns, we derived 13 repair templates. We implemented these repair templates in SOFIX, and conducted evaluations on the widely used benchmark, Defects4J. Our results show that SOFIX repaired 23 bugs, which are more than existing approaches. After comparing repaired bugs and templates, we find that SOFIX repaired more bugs, since it has more repair templates. In addition, our results also reveal the urgent need for better fault localization techniques.
引用
收藏
页码:118 / 129
页数:12
相关论文
共 50 条
  • [21] Challenges of Teaching Programming in StackOverflow Era
    Poial, Jaanus
    EDUCATING ENGINEERS FOR FUTURE INDUSTRIAL REVOLUTIONS, ICL2020, VOL 1, 2021, 1328 : 703 - 710
  • [22] Building Reputation in StackOverflow: An Empirical Investigation
    Bosu, Amiangshu
    Corley, Christopher S.
    Heaton, Dustin
    Chatterji, Debarshi
    Carver, Jeffrey C.
    Kraft, Nicholas A.
    2013 10TH IEEE WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR), 2013, : 89 - 92
  • [23] Automated Program Repair
    Le Goues, Claire
    Pradel, Michael
    Roychoudhury, Abhik
    COMMUNICATIONS OF THE ACM, 2019, 62 (12) : 56 - 65
  • [24] Automatic Program Repair
    Carver, Jeffrey
    Colomo-Palacios, Ricardo
    Larrucea, Xabier
    Staron, Miroslaw
    IEEE SOFTWARE, 2021, 38 (04) : 122 - 124
  • [25] Program Repair Competition
    Shariffdeen, Ridwan
    Mirchev, Martin
    Roychoudhury, Abhik
    2023 IEEE/ACM INTERNATIONAL WORKSHOP ON AUTOMATED PROGRAM REPAIR, APR, 2023, : 19 - 20
  • [26] Concolic Program Repair
    Shariffdeen, Ridwan
    Noller, Yannic
    Grunske, Lars
    Roychoudhury, Abhik
    PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 390 - 405
  • [27] Program Repair for Hyperproperties
    Bonakdarpour, Borzoo
    Finkbeiner, Bernd
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS (ATVA 2019), 2019, 11781 : 423 - 441
  • [28] Program repair as a game
    Jobstmann, B
    Griesmayer, A
    Bloem, R
    COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2005, 3576 : 226 - 238
  • [29] Deductive Program Repair
    Kneuss, Etienne
    Koukoutos, Manos
    Kuncak, Viktor
    COMPUTER AIDED VERIFICATION, CAV 2015, PT II, 2015, 9207 : 217 - 233
  • [30] Sparrows and Owls: Characterisation of Expert Behaviour in StackOverflow
    Yang, Jie
    Tao, Ke
    Bozzon, Alessandro
    Houben, Geert-Jan
    USER MODELING, ADAPTATION, AND PERSONALIZATION, UMAP 2014, 2014, 8538 : 266 - 277