...
首页> 外文期刊>Software Engineering, IEEE Transactions on >STAR: Stack Trace Based Automatic Crash Reproduction via Symbolic Execution
【24h】

STAR: Stack Trace Based Automatic Crash Reproduction via Symbolic Execution

机译:STAR:通过符号执行基于堆栈跟踪的自动崩溃重现

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

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.
机译:复制软件崩溃是调试的必要第一步。不幸的是,崩溃再现通常是劳动密集型的。为了使崩溃重现自动化,已经提出了许多技术,包括记录重放和故障后处理方法。记录重放方法可以可靠地重放记录的崩溃,但它们会给程序执行带来可观的性能开销。或者,故障后处理方法仅在崩溃发生后才对其进行分析。因此,它们不会产生性能开销。但是,由于可伸缩性问题和对象创建的挑战,现有的故障后处理方法实际上仍无法重现许多崩溃。本文提出了一种使用收集的崩溃堆栈跟踪信息的自动崩溃重现框架。所提出的方法结合了有效的向后符号执行和新颖的方法序列组合方法,以生成可以重现原始崩溃而又不会引起额外运行时开销的单元测试用例。我们的评估研究表明,我们的方法成功地利用了三个开源项目中52个崩溃中的31个(59.6%)。在这些可利用的崩溃中,有22个(占42.3%)是原始崩溃的有用复制品,这些原始崩溃揭示了崩溃触发的错误。一项比较研究还表明,我们的方法可以有效地胜过现有的崩溃重现方法。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号