...
首页> 外文期刊>ACM transactions on software engineering and methodology >Shadow Symbolic Execution for Testing Software Patches
【24h】

Shadow Symbolic Execution for Testing Software Patches

机译:用于测试软件补丁的影子符号执行

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

摘要

While developers are aware of the importance of comprehensively testing patches, the large effort involved in coming up with relevant test cases means that such testing rarely happens in practice. Furthermore, even when test cases are written to cover the patch, they often exercise the same behaviour in the old and the new version of the code. In this article, we present a symbolic execution-based technique that is designed to generate test inputs that cover the new program behaviours introduced by a patch. The technique works by executing both the old and the new version in the same symbolic execution instance, with the old version shadowing the new one. During this combined shadow execution, whenever a branch point is reached where the old and the new version diverge, we generate a test input exercising the divergence and comprehensively test the new behaviours of the new version. We evaluate our technique on the Coreutils patches from the CoREBench suite of regression bugs, and show that it is able to generate test inputs that exercise newly added behaviours and expose some of the regression bugs.
机译:尽管开发人员已经意识到全面测试补丁的重要性,但在提出相关测试用例时付出了巨大的努力,这意味着这种测试很少在实践中发生。而且,即使编写了测试用例来覆盖补丁,它们在新旧版本的代码中也经常表现出相同的行为。在本文中,我们介绍了一种基于符号执行的技术,该技术旨在生成涵盖补丁程序引入的新程序行为的测试输入。该技术通过在相同的符号执行实例中同时执行旧版本和新版本的方式来工作,而旧版本则遮盖了新版本。在此组合阴影执行期间,只要到达新版本与旧版本发生分歧的分支点,我们就会生成测试输入以利用该分歧并全面测试新版本的新行为。我们在CoREBench回归错误套件中的Coreutils补丁上评估了我们的技术,并表明该技术能够生成测试输入,这些输入可以行使新添加的行为并暴露一些回归错误。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号