论文
大语言模型模型可以正式编程吗?
Can Large Language Models Model Programs Formally?
摘要
在数字时代,通过形式验证确保软件的正确性、安全性和可靠性至关重要,特别是当软件日益成为关键基础设施的基础时。形式化验证分为定理证明和模型检查,提供了一条可行且可靠的路径。与取得显着进步的定理证明不同,由于自动程序建模的困难,模型检查不太受关注。为了填补这一空白,我们引入了 Model-Bench,这是一个基准测试和一个随附的管道,用于通过将 Python 程序建模为可由其随附的模型检查器检查的可验证模型检查规范来评估和改进 LLM 的程序建模能力。 Model-Bench 包含源自三个著名基准测试(HumanEval、MBPP 和 LiveCodeBench)的 400 个 Python 程序。我们广泛的实验揭示了 LLM 程序建模的显着局限性,并进一步提供了鼓舞人心的方向。