• DocumentCode
    112111
  • Title

    STAR: Stack Trace Based Automatic Crash Reproduction via Symbolic Execution

  • Author

    Ning Chen ; Sunghun Kim

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Hong Kong Univ. of Sci. & Technol., Kowloon, China
  • Volume
    41
  • Issue
    2
  • fYear
    2015
  • fDate
    Feb. 1 2015
  • Firstpage
    198
  • Lastpage
    220
  • Abstract
    Software crash reproduction is the necessary first step for debugging. Unfortunately, crash reproduction is often labor intensive. To automate crash reproduction, many techniques have been proposed including record-replay and post-failure-process approaches. Record-replay approaches can reliably replay recorded crashes, but they incur substantial performance overhead to program executions. Alternatively, post-failure-process approaches analyse crashes only after they have occurred. Therefore they do not incur performance overhead. However, existing post-failure-process approaches still cannot reproduce many crashes in practice because of scalability issues and the object creation challenge. This paper proposes an automatic crash reproduction framework using collected crash stack traces. The proposed approach combines an efficient backward symbolic execution and a novel method sequence composition approach to generate unit test cases that can reproduce the original crashes without incurring additional runtime overhead. Our evaluation study shows that our approach successfully exploited 31 (59.6 percent) of 52 crashes in three open source projects. Among these exploitable crashes, 22 (42.3 percent) are useful reproductions of the original crashes that reveal the crash triggering bugs. A comparison study also demonstrates that our approach can effectively outperform existing crash reproduction approaches.
  • Keywords
    program debugging; program testing; project management; public domain software; system recovery; STAR; backward symbolic execution; crash stack traces; debugging; method sequence composition approach; object creation challenge; open source projects; post-failure-process approach; record-replay approach; scalability issues; software crash reproduction; stack trace based automatic crash reproduction; unit test case generation; Arrays; Color; Computer crashes; Explosions; Indexes; Optimization; Software; Crash reproduction; optimization; static analysis; symbolic execution; test case generation;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2014.2363469
  • Filename
    6926857