开源突变测试 c++

Open source mutation testing c++

本文关键字:c++ 测试 突变 开源      更新时间:2023-10-16

我需要一个开源工具(即使是相对原始的工具也可以),它可以对C++代码执行突变测试。我要求它是开源的,因为我需要在概念验证实验中修改它。

我尝试在谷歌上搜索它,但没有想出开源工具,我想出了这个问题,但答案中建议的工具要么不是开源的,要么没有变异C++。

我认为"C++代码"是指改变源代码本身而不是编译版本的东西?源代码突变比中间代码突变(例如Java字节码或.NET IL)更难实现。正因为如此,我强烈怀疑你找不到开源的。

挑战在于将源代码解析为某种形式的语法树,这在C++中是一个难题,这将允许您识别突变点并进行所需的源代码更改。您可能想将GCCXML视为解析的开源起点 - 添加突变实际上是问题的更直接的部分。

开源忍者神龟(免责声明:我是这方面的首席开发人员)将改变从 .NET 托管C++代码编译的程序集,但我怀疑这对你没有任何好处?

您是否研究过 Clang 重写器引擎或其 AST 匹配器?您可以按语义搜索源代码中的某些位置,然后应用转换并重新编译。它专为通用源到源工具和分析而设计。

有点像你自己的,但我认为这绝对是可行的。