少点错误 2024年08月20日
Next automated reasoning grand challenge: CompCert
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

近期开发的自动化推理系统可解决IMO问题,还可用于自动化验证实际系统,建议以CompCert为基准,任务是证明其正确性,这是具有挑战性的研发任务。

🎯自动化推理系统是一项令人印象深刻的进展,可用于解决IMO问题,但IMO问题需在两天内解决。

💡提出利用该系统自动化验证实际系统,包括先进的AI系统,建议以CompCert为中间基准,它是经过正式验证的编译器。

🧐证明CompCert的正确性是一项挑战,需将C编程语言标准、Intel架构手册和CompCert编译算法的形式规范作为输入,自动填充所有手动编写的证明。

Published on August 20, 2024 5:27 AM GMT

Recently automated reasoning system was developed to solve IMO problems. It is a very impressive and exciting advance, but it must be noted IMO problems are to be solved in two days.

Recently it was also proposed to make use of this advance to greatly automate formal verification of practical systems, including advanced AI systems. That's a very tall goal, so some kind of intermediate benchmark would be useful.

I suggest CompCert as a such benchmark. It is a formally verified compiler with manually written proof that compiles a large and practical subset of C programming language to (among other things) x86 assembly language, with optimizations such that performance is competitive with GCC -O1. Whether its formal specification corresponds to C programming language standard and Intel architecture manual written in English is a fascinating question, but more than a decade of testing since completion of its proof suggests it does. The initial proof took three years (from 2005 to 2008), and Xavier Leroy won ACM Software System Award for this work. So the task is an R&D level task.

The challenge is: automated reasoning system (like AlphaProof) will be given formal specification of C programming language standard, Intel architecure manual, and CompCert's compilation algorithm as input. The task is to prove it correct, by filling in all of manually written proofs automatically. 99% automation with manually written hints (say, 10 pages of proof sketch -- which happens to be length of CompCert overview paper -- written over 10 days) would be also interesting.

In many ways this is much easier task than what we want. Known to be correct compilation algorithm is given as input, and real to formal translation is already done. Compiler is also designed and written to be verified. Compared to automatically (or semi-automatically, with 99% automation) fixing bugs in GCC and extending formal specification to cover more and verifying not-designed-for-verification software like GCC correct, this is a toy task. But it is also a task that would take a researcher many months, not days. (Probably not years, since a lot is given as input this is a subset task of initial proof and we also have advanced since 2008.) 



Discuss

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

自动化推理系统 CompCert 形式验证
相关文章