• DocumentCode
    2443846
  • Title

    A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each

  • Author

    Le Goues, Claire ; Dewey-Vogt, Michael ; Forrest, Stephanie ; Weimer, Westley

  • Author_Institution
    Comput. Sci. Dept., Univ. of Virginia, Charlottesville, VA, USA
  • fYear
    2012
  • fDate
    2-9 June 2012
  • Firstpage
    3
  • Lastpage
    13
  • Abstract
    There are more bugs in real-world programs than human programmers can realistically address. This paper evaluates two research questions: “What fraction of bugs can be repaired automatically?” and “How much does it cost to repair a bug automatically?” In previous work, we presented GenProg, which uses genetic programming to repair defects in off-the-shelf C programs. To answer these questions, we: (1) propose novel algorithmic improvements to GenProg that allow it to scale to large programs and find repairs 68% more often, (2) exploit GenProg´s inherent parallelism using cloud computing resources to provide grounded, human-competitive cost measurements, and (3) generate a large, indicative benchmark set to use for systematic evaluations. We evaluate GenProg on 105 defects from 8 open-source programs totaling 5.1 million lines of code and involving 10,193 test cases. GenProg automatically repairs 55 of those 105 defects. To our knowledge, this evaluation is the largest available of its kind, and is often two orders of magnitude larger than previous work in terms of code or test suite size or defect count. Public cloud computing prices allow our 105 runs to be reproduced for $403; a successful repair completes in 96 minutes and costs $7.32, on average.
  • Keywords
    C language; cloud computing; genetic algorithms; program debugging; public domain software; software cost estimation; software maintenance; GenProg; algorithmic improvement; automated program repair; cloud computing resource; defect repair; genetic programming; grounded human-competitive cost measurement; off-the-shelf C program; open-source program; program bug; real-world program; repair cost; systematic evaluation; Benchmark testing; Cloud computing; Computer bugs; Genetic programming; Maintenance engineering; Open source software; Systematics; automated program repair; cloud computing; genetic programming;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2012 34th International Conference on
  • Conference_Location
    Zurich
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4673-1066-6
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1109/ICSE.2012.6227211
  • Filename
    6227211