【24h】

Selective Bisection Debugging

机译:选择性对分调试

获取原文

摘要

Bisection debugging, which is based on binary search over software version history, is widely used in practice to identify the bug introducing commit. However, this process can be expensive because it requires costly compilation and test execution at many commits. We introduce a novel technique—selective bisection (consisting of test selection and commit selection)— reduce the number of bisection steps, the number of compiler invocations, and the number of executed tests. We evaluated selective bisection on 10 popular open-source projects by performing 25,690 debugging sessions and measuring: (1) savings in number of compiler invocations obtained by commit selection, (2) savings in number of executed tests obtained by test selection, and (3) savings in overall debugging time by selective bisection. Our results show that, in 65% of debugging sessions, commit selection saves between 14% and 71% compiler invocations. Test selection saves 74% of testing effort on average (ranging from 42% to 95%) compared to when developers do not use any test selection. Finally, we demonstrate that one can save substantial time using selective bisection for large projects.
机译:对分调试基于对软件版本历史记录的二进制搜索,在实践中被广泛使用,以识别引入提交的错误。但是,此过程可能很昂贵,因为它需要在多次提交时进行昂贵的编译和测试执行。我们引入了一种新技术-选择性二等分(由测试选择和提交选择组成)-减少了二等分步骤的数量,编译器调用的数量和已执行的测试的数量。我们通过执行25,690次调试会话并进行以下评估来评估10个受欢迎的开源项目的选择性二等分:(1)通过提交选择节省的编译器调用数量;(2)通过测试选择节省的已执行测试数量;以及(3 )通过选择性的对等节省了总体调试时间。我们的结果表明,在65%的调试会话中,提交选择可以节省14%到71%的编译器调用。与开发人员不使用任何测试选择时相比,测试选择平均可节省74%的测试工作量(从42%到95%)。最后,我们证明对于大型项目,使用选择性对分可以节省大量时间。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号