5

C++ コードでミューテーション テストを実行するオープン ソースツールが必要です (比較的原始的なツールでも構いません)。概念実証の実験で変更する必要があるため、オープン ソースにする必要があります。

私はそれをグーグルで試しましたが、オープンソースツールを思いつきませんでした.私はこの質問を思いつきました.

4

2 に答える 2

2

Clang リライター エンジンまたはその AST マッチャーを調べましたか? ソース コード内の特定のスポットを意味的に検索し、変換を適用して再コンパイルできます。これは、一般的なソースツーソース ツールおよび分析用に設計されています。

自分で少しロールバックしますが、間違いなく機能すると思います。

于 2013-11-15T22:02:08.157 に答える
2

「C++コード」とは、コンパイルされたバージョンではなく、ソースコード自体を変更するものを意味していると思いますか? ソース コードの変更は、中間コードの変更 (Java バイトコードや .NET IL など) よりも実装がはるかに困難です。このため、オープンソースのものは見つからないのではないかと強く思っています。

課題は、ソース コードを何らかの形式の構文ツリーに解析することです。これは C++ では困難な問題です。これにより、変更点を特定し、必要なソース コードの変更を行うことができます。解析のオープン ソースの出発点としてGCCXMLを検討することをお勧めします。ミューテーションを追加することは、実際には問題のより単純な部分です。

オープン ソースのNinjaTurtles (免責事項:私はこれに関する主任開発者です) は、.NET マネージC++ コードからコンパイルされたアセンブリを変更しますが、それはあなたにとって何の役にも立たないと思いますか?

于 2012-07-04T08:49:08.447 に答える