最近,人工智慧(AI)代理在自動化數學定理證明和程式碼正確性驗證方面展現了非常有前景的發展,使用的工具包括 Lean。這些工具將程式碼與規範和證明結合在一起,以確保其符合預期要求,為安全關鍵的應用提供了強有力的保障。人工智慧已經證明它能夠通過大型語言模型來促進解決方案開發的基本步驟,即編碼、規範和證明。儘管這些進展充滿希望,但完全自動化程式驗證仍然面臨挑戰。
傳統上,數學定理證明依賴於像 Lean 這樣的工具,這些工具在 Mathlib 等數據集上訓練模型,以使用特定的定義和策略來解決問題。然而,這些工具在適應程式驗證方面遇到了困難,因為這需要完全不同的方法和策略。雖然機器學習在 Coq 和 Isabelle 等系統中改善了自動化,但 Lean 在程式驗證方面的類似進展仍然缺失。其他工具如 Dafny 和 Verus,以及基準測試如 miniF2F 和 CoqGym,提供了替代方案,但仍未能完全解決將數學定理證明方法適應於程式驗證需求的挑戰。
為了解決這個問題,卡內基梅隆大學的研究人員提出了 miniCodeProps,這是一個包含 201 個程式規範的基準,使用 Lean 證明助手,旨在自動生成程式及其規範的證明。miniCodeProps 包含簡單的自包含程式,如列表、自然數和二元樹,並且證明的難度各不相同。這個數據集分為三個類別——列表、樹和數字的直觀性質(medley)、遞歸函數的終止引理(termination)以及非標準排序算法的性質(sorting),共包含 201 條定理陳述。這些函數主要操作於鏈接列表,有些涉及自然數和二元樹。這些性質按難度分類:簡單(medley)、中等(termination)和困難(sorting)。終止引理需要證明遞歸的終止,這對於 Lean 4 的使用至關重要。這個數據集以 jsonlines 格式提供,包含每個定理的證明狀態和依賴關係等重要細節。像 zip 與串接性質和排序性質的例子突顯了證明這些性質的挑戰,特別是對於更複雜的排序算法。
miniCodeProps 的評估集中在兩個主要任務上:完整證明生成和逐步生成。在完整證明生成中,模型被測試其生成給定規範的完整證明的能力。在逐步生成中,模型根據當前證明狀態建議下一個適當的策略,測試其增量推理能力。評估還考慮了證明的難度,從簡單的列表和數字性質到複雜的終止和排序算法性質,測量證明生成或策略應用的效率和正確性。
結果顯示,像 GPT-4o 這樣的神經定理證明者在簡單任務上表現良好,在 medley 性質上達到了 75.6% 的成功率。然而,在更困難的任務上,如終止和排序,表現較低,分別為 4.34% 和 6.96%。經過 Mathlib 訓練的模型 ntp-ctx-1.3B 展示了與 GPT-4o 類似的效率,這表明領域特定的驗證者可能會顯示出進一步的潛力。miniCodeProps 提供了一個框架,以改善自動化定理證明代理的程式碼驗證,支持人類工程師,並通過多樣的推理方法提供額外的保證。
最終,提出的 miniCodeProps 是一個有價值的基準,可以用來推進基於 ITP 的自動化程式碼驗證。它包含來自各種歸納問題數據集的問題,使得在檢查程式性質時能夠逐步進展。然而,這種方法顯示出局限性,無法有效解決複雜問題。miniCodeProps 可能推動驗證代理的進步,並作為評估自動化程式碼驗證新方法的基準。
查看論文。所有的研究成果都歸功於這個項目的研究人員。此外,別忘了在 Twitter 上關注我們,加入我們的 Telegram 頻道和 LinkedIn 群組。還有,別忘了加入我們的 60k+ ML SubReddit。
🚨 熱門消息:LG AI 研究發布 EXAONE 3.5:三個開源雙語前沿 AI 模型提供無與倫比的指令跟隨和長上下文理解,為生成 AI 卓越的全球領導力提供支持……
本文由 AI 台灣 運用 AI 技術編撰,內容僅供參考,請自行核實相關資訊。
歡迎加入我們的 AI TAIWAN 台灣人工智慧中心 FB 社團,
隨時掌握最新 AI 動態與實用資訊!