• DocumentCode
    555277
  • Title

    Angelic debugging

  • Author

    Chandra, Satish ; Torlak, Emina ; Barman, Shaon ; Bodik, Rastislav

  • Author_Institution
    IBM Res., Yorktown Heights, NY, USA
  • fYear
    2011
  • fDate
    21-28 May 2011
  • Firstpage
    121
  • Lastpage
    130
  • Abstract
    Software ships with known bugs because it is expensive to pinpoint and fix the bug exposed by a failing test. To reduce the cost of bug identification, we locate expressions that are likely causes of bugs and thus candidates for repair. Our symbolic method approximates an ideal approach to fixing bugs mechanically, which is to search the space of all edits to the program for one that repairs the failing test without breaking any passing test. We approximate the expensive ideal of exploring syntactic edits by instead computing the set of values whose substitution for the expression corrects the execution. We observe that an expression is a repair candidate if it can be replaced with a value that fixes a failing test and in each passing test, its value can be changed to another value without breaking the test. The latter condition makes the expression flexible in that it permits multiple values. The key observation is that the repair of a flexible expression is less likely to break a passing test. The method is called angelic debugging because the values are computed by angelically nondeterministic statements. We implemented the method on top of the Java PathFinder model checker. Our experiments with this technique show promise of its applicability in speeding up program debugging.
  • Keywords
    Java; formal verification; program debugging; program testing; Java PathFinder model checker; angelic debugging; bug identification; failing test; nondeterministic statements; program debugging; search space; symbolic method; Computer bugs; Computers; Concrete; Debugging; Java; Maintenance engineering; Testing; angelic non-determinism; debugging; symbolic execution; tests;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2011 33rd International Conference on
  • Conference_Location
    Honolulu, HI
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4503-0445-0
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1145/1985793.1985811
  • Filename
    6032451