HeadlinesBriefing HeadlinesBriefing.com

LLMが形式的ソフトウェア検証を大規模に実用化

Hacker News •
×

ほとんどのソフトウェアにはバグが潜んでおり、AIは今やそれらを容易に見つけ出して悪用できます。従来のサイバー攻撃への防御策はもはや十分ではなく、開発者はコードにバグがないことを証明する方法を必要としています。形式的ソフトウェア検証はその保証を提供できますが、従来は専門家が何年もの労力を費やす必要があり、現実の大半のプロジェクトでは非現実的でした。

Theoremとの共同研究で、研究者たちはこの状況が変わりつつあることを示しています。LLMは今や大規模に形式的証明を生成でき、証明された安全性保証を含む新たな開発ワークフローを可能にします。チームはClaudeを使い、100以上の実在するオープンソースソフトウェアライブラリについて、アセンブリコードのレベル(RISC-V)で安全性の特性を証明しました。彼らの知る限り、このレベルの本番ソフトウェアに形式的検証を適用するためにAIを用いた大規模な取り組みはこれが初めてです。証明を書く過程で、Claudeは数兆回のテスト実行でも何年も検出されなかったバグも明らかにしました。

このアプローチは長年の手法に基づいています。開発者はコードを数学的モデルに変換し、コードが常に定義された安全規則に従うことを証明しようとします。証明の失敗は、バグの可能性を示します。従来、証明は元のコードの何倍もの規模になることがあり、稀少な専門スキルを必要としました。seL4カーネルの構築には2人年かかりましたが、その検証には20人年かかりました。

この手法を試すため、Claudeは、宣言された実行環境の前提の下で、123のオープンソースプログラムが64 MB未満のすべての入力に対して、メモリ安全性エラーや失敗したアサーションを起こさずに必ず正常終了することを証明しました。研究者らは、これが考えうるすべてのバグを修正することからは程遠いと認めていますが、道筋を示すものだと述べています。他の人が検証し再利用できるよう、証明の一部が公開されています。

出典: Hacker News · 要約:HeadlinesBriefing