首页> 外文期刊>Empirical Software Engineering >A benchmark-based evaluation of search-based crash reproduction
【24h】

A benchmark-based evaluation of search-based crash reproduction

机译:基于基准的对基于搜索的崩溃再现的评估

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

摘要

Crash reproduction approaches help developers during debugging by generating a test case that reproduces a given crash. Several solutions have been proposed to automate this task. However, the proposed solutions have been evaluated on a limited number of projects, making comparison difficult. In this paper, we enhance this line of research by proposing JCrashPack, an extensible benchmark for Java crash reproduction, together with ExRunner, a tool to simply and systematically run evaluations. JCrashPack contains 200 stack traces from various Java projects, including industrial open source ones, on which we run an extensive evaluation of EvoCrash, the state-of-the-art tool for search-based crash reproduction. EvoCrash successfully reproduced 43% of the crashes. Furthermore, we observed that reproducing NullPointerException, IllegalArgumentException, and IllegalStateException is relatively easier than reproducing ClassCastException, ArrayIndexOutOfBoundsException and StringIndexOutOfBoundsException. Our results include a detailed manual analysis of EvoCrash outputs, from which we derive 14 current challenges for crash reproduction, among which the generation of input data and the handling of abstract and anonymous classes are the most frequents. Finally, based on those challenges, we discuss future research directions for search-based crash reproduction for Java.
机译:崩溃重现方法通过生成可重现给定崩溃的测试用例,在调试过程中帮助开发人员。已经提出了几种解决方案来使该任务自动化。但是,仅在有限数量的项目上对提出的解决方案进行了评估,因此很难进行比较。在本文中,我们通过提出JCrashPack(一种Java崩溃再现的可扩展基准)以及ExRunner(一种用于简单而系统地运行评估的工具),来增强这一研究领域。 JCrashPack包含来自各种Java项目(包括工业开源项目)的200条堆栈跟踪,我们在其上对EvoCrash进行了广泛的评估,EvoCrash是用于基于搜索的崩溃再现的最先进工具。 EvoCrash成功复制了43%的崩溃。此外,我们观察到,重现NullPointerException,IllegalArgumentException和IllegalStateException相对比重现ClassCastException,ArrayIndexOutOfBoundsException和StringIndexOutOfBoundsException相对容易。我们的结果包括对EvoCrash输出的详细手动分析,从中我们得出了14个当前的崩溃重现挑战,其中输入数据的生成以及抽象类和匿名类的处理是最常见的。最后,基于这些挑战,我们讨论了Java基于搜索的崩溃重现的未来研究方向。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号