Oossa

AnthropicのClaude、コードの形式的証明を自動生成

オープンソースライブラリ向けに1億8,000万行の形式的証明を作成し、従来のテストで見逃されたバグを発見。ただし適用条件は限られる。

著者: Oossa公開日: 1 分で読める

Wonderlane · Unsplash

Anthropicは、Claudeモデルが既存コードの形式検証用の証明を自動生成できると発表した。GoogleのOSS-Fuzzプロジェクトに参加する123のライブラリを使ったテストでは、Claudeは数週間でおよそ1億8,000万行の証明を生成した。証明はRocq検証器でチェックされ、Anthropicによると、人間のレビュアーの作業はほとんど必要なかった。

システムが実際に行ったこと

Claudeは新しいプログラムを書いたわけではない。クラッシュテストのケースを数学的な命題に置き換え、コンパイル済みの機械語を解析して、コードがその命題を満たすことを示す形式的な証明を出力した。バグに遭遇した場合は、Claude自身がコードを修正することも認められていた。広く使われているPDFリーダーを1週間かけて調べたところ、Claudeは通常なら1年間で報告されるのと同数のセキュリティバグを発見した。別のライブラリでは、10年以上見つからなかった論理上の誤りも発見した。

制限とコスト

Anthropicは、証明が有効なのは、特定のプロセッサアーキテクチャ上で動くシングルスレッドのプログラムで、入力が64 MB未満の場合に限られると注意を促している。計算負荷は高く、個々の証明で数億トークンに達することもあるが、同社は総費用を明らかにしていない。より小規模なテストでは、新しいOpus 5.5モデルは、前世代のモデルに比べてトークンを約40%少なく使い、証明の半数を完成できた。

なぜ重要か

AIがコードを自動検証できれば、開発者はバグ探しやパッチのレビューに費やす時間を減らせる可能性があり、とりわけ安全性が重要なソフトウェアで役立つ。ただし、現在の手法にはハードウェアや入力サイズの厳しい制約があるため、一般的なアプリケーションの多くでは、従来のテストが依然として必要だ。

この記事は役に立ちましたか?
共有

次に読む

Oossa · ニュースレター

今週のAIを、わかりやすく

毎週月曜日、知っておきたいニュースをやさしい言葉で。無料・スパムなし。