掲載済み (2026-02-21号)
#133 205文字 • 2分

AIテストが全パスしてもコードは間違っていた:Doodledappが直面した「グラウンドトゥルース」の罠

原題: AI made every test pass. The code was still wrong.

日本語

掲載情報

概要

AIにテスト生成を任せると既存コードの挙動を無批判に正当化してしまう問題に対し、AST比較とAIによる差分分析を組み合わせた高精度な検証手法を提案する。

詳細内容

Doodledapp開発チームが、ビジュアルフローからSolidityへ変換するコンバーターの検証においてAIを活用した際の教訓を共有しています。当初、AIにテスト生成を依頼したところ、17件の主要なスマートコントラクトで全テストが即座にパスしましたが、これはAIが「実装されたコードそのもの」を正解(仕様)としてテストを生成したため、既存のバグを検知できなかったことが判明しました。 この「グラウンドトゥルース(真実の基準)」問題を解決するため、チームは検証アプローチを根本から刷新しました。単なるコード文字列の比較ではなく、元のコントラクトと変換後のコードをそれぞれAST(抽象構文木)に変換し、その構造的な差異をAIに分析させる手法を採用。これにより、修飾子の欠落や演算の優先順位エラー、複雑なループ境界の誤りなど、人間が見落としがちな論理的バグを確実に特定できるようになりました。AIを検証ツールとして使う際は、コードではなく独立した「正解の基準」を比較対象として与えることが不可欠であると結論付けています。