【24h】

Testing Your (Static Analysis) Truths

机译:测试您的(静态分析)真理

获取原文

摘要

Static analysis is nowadays an essential component of many software development toolsets. Despite some notorious successes in the validation of compilers, comparatively little work exists on the systematic validation of static analyzers, whose correctness and reliability is critical if they are to be inserted in production environments. Contributing factors may be the intrinsic difficulty of formally verifying code that is quite complex and of finding suitable oracles for testing it. In this paper, we propose a simple, automatic method for testing abstract interpretation-based static analyzers. Broadly, it consists in checking, over a suite of benchmarks, that the properties inferred statically are satisfied dynamically. The main advantage of our approach is its simplicity, which stems directly from framing it within the Ciao assertion-based validation framework, and its blended static/dynamic assertion checking approach. We show that in this setting, the analysis can be tested with little effort by combining the following components already present in the framework: the static analyzer, the assertion run-time checking mechanism, the random test case generator, and the unit-test framework. Together they compose a tool that can effectively discover and locate errors in the different components of the analysis framework. We apply our approach to test some of CiaoPP's analysis domains over a wide range of programs, successfully finding non-trivial, previously undetected bugs, with a low degree of effort.
机译:如今静态分析是许多软件开发工具集的重要组成部分。尽管在编制者的验证方面取得了一些臭名昭着的成功,但在静态分析仪的系统验证中存在相对较少的工作,如果要在生产环境中插入它们,其正确性和可靠性至关重要。贡献因素可能是正式验证守则的内在难度,这些代码非常复杂,找到适当的oracles进行测试。在本文中,我们提出了一种简单,自动的方法来测试抽象解释的静态分析仪。广泛地,它包括在套件上检查静态地推断的属性。我们的方法的主要优点是其简单性,这直接源于在Ciao断言的验证框架内绘制它,以及其混合的静态/动态断言检查方法。我们展示在此设置中,通过组合已经存在于框架中的以下组件:静态分析仪,断言运行时检查机制,随机测试案例发生器和单位测试框架,可以通过很少的努力来测试分析。它们一起构成了一种工具,可以有效地发现和定位分析框架的不同组件中的错误。我们应用我们的方法来测试一些CIAPP的分析域,在各种计划中,成功地找到了非琐碎,以前未被发腐的虫子,以低的努力。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号