本研究では、LLMと記号的解析手法を組み合わせることで、C言語プログラムの仕様を生成する手法を提案している。
具体的には以下の手順で仕様を生成する:
実験の結果、記号的解析の出力を追加することで、LLMが生成する仕様の質が向上することが分かった。特に、PathCrawlerのテストケースを追加することで、プログラムの意図を反映した仕様が生成される傾向にある。一方、EVAの解析結果を追加した場合は、ランタイムエラーを回避するための事前条件が多く生成される。
また、バグのあるプログラムに対しても、LLMは実装ではなく意図に基づいて仕様を生成する傾向が見られた。これは、プログラムの名称やコメントなどの手がかりから意図を推測しているためと考えられる。
本手法は、プログラムの意図を反映した仕様を自動生成することで、バグの発見に役立つ可能性がある。今後は、記号的解析手法の改善や、LLMの更なる活用など、仕様生成の質を向上させる取り組みが期待される。
Para outro idioma
do conteúdo fonte
arxiv.org
Principais Insights Extraídos De
by George Granb... às arxiv.org 09-19-2024
https://arxiv.org/pdf/2406.15540.pdfPerguntas Mais Profundas