2

別のC++プログラム(ファイルで指定)を取り込んで、その各ステートメントにカウンターを増やす関数の呼び出しを拡張または追加するC++コードカバレッジプログラムを作成する必要があります。ただし、式のタイプごとに異なるカウンターを使用する必要があります(つまり、各タイプの式がいくつあるかを把握する必要があります)。このために、各C++式のタイプを把握する必要があります。IMOパーサーAPIを使用して、各行を解析してその型を取得する必要があります。より良い解決策がありますか?それ以外の場合、解析APIはどこにありますか?

ありがとう

4

1 に答える 1

2

「パーサー」APIはタイプ情報を提供しません。せいぜいASTへのアクセスを提供します。

C ++コードを解析し、名前と型の解決を行い、文字通り各式の型を計算できる完全なC++フロントエンドが必要です。その上に、必要なインストルメンテーションを挿入してから、コンパイル可能なソースコードを吐き出す必要があります。

C ++フロントエンドを備えたDMSソフトウェアリエンジニアリングツールキットには、これを行うために必要なすべての機能があります。

DMSは、C ++(および他の多くの言語)用のテストカバレッジおよびプロファイラーツールを構築するために使用されてきました。ダウンロードして試してみて、どのようなものかを確認することもできます。DMSを使用したテストカバレッジツールの構築に関するこのペーパーは、やりたいことのベースラインとして興味深いものです。バリアントには型推論が必要ですが、それ以外の点ではそれほど違いはありません。

于 2012-06-13T21:06:34.217 に答える