EAGER: Proof-Carrying Code Completions
EAGER:携带证明的代码完成
基本信息
- 批准号:2403762
- 负责人:
- 金额:$ 30万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Standard Grant
- 财政年份:2024
- 资助国家:美国
- 起止时间:2024-02-15 至 2025-07-31
- 项目状态:未结题
- 来源:
- 关键词:
项目摘要
Today's programmers are using large language models (LLMs) to accelerate software development by automatically generating code suggestions and code completions. Widely used examples include GitHub Copilot and OpenAI ChatGPT. However, code generated by these tools can have bugs that are not caught by users, and this presents a serious safety risk. This project will leverage an idea called "proof-carrying code" where code suggestions are packaged together with a mathematical proof of their safety, allowing programmers to be confident that the program is safe to deploy. This project will develop tools, techniques, and empirical results for using LLMs to generate trustworthy code together with mathematical proofs. Project outcomes, including code, data sets and course materials, will be developed in the open and made available online to researchers working on LLMs, end users of LLM-based code generation, and early industry and open source adopters.In the 1990s, researchers in the programming languages community recognized a powerful idea known as proof-carrying code (PCC): they showed how code can be shipped together with a proof of its safety that could be vetted – efficiently – by an end user. LLMs can be viewed as high-resource computations, and LLM users as low-resource entities. Seen through this lens, PCC maps naturally to the safety problem for LLM-generated code. The technical aims of this project are divided into four thrusts: (1) Gather empirical data on code that is currently generated by LLMs, and to determine core safety risks, to enable building of a dataset that will be useful to other researchers; (2) Develop a framework for PCC, including enumeration of safety properties of interest and showing how to instantiate the framework with existing program verification, proof languages, and proof frameworks; (3) Implement new tools for verification condition generation from source code for popular programming languages and for specific safety properties; and (4) Evaluate the use of LLMs for generating proofs in this context, including developing new algorithms and proof sampling techniques to improve model effectiveness. The research will lead to new insights into the current capabilities of LLMs, to new relevant safety properties for code generation in a black-box setting, and to new techniques to generate verification conditions -- to bridge the gap in formal verification technology from special-purpose languages like Coq and Dafny to general-purpose programming languages in popular use.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
当今的程序员正在使用大型语言模型 (LLM) 通过自动生成代码建议和代码完成来加速软件开发,广泛使用的示例包括 GitHub Copilot 和 OpenAI ChatGPT,但是这些工具生成的代码可能存在用户无法发现的错误。这带来了严重的安全风险,该项目将利用一种称为“携带证明的代码”的想法,其中代码建议与其安全性的数学证明打包在一起,使程序员能够确信该程序是安全的。该项目将开发工具、技术和经验结果,以使用法学硕士生成值得信赖的代码以及数学证明。项目成果(包括代码、数据集和课程材料)将公开开发并在线提供给研究人员。在 20 世纪 90 年代,编程语言社区的研究人员认识到了一个强大的想法,称为证明代码(PCC):他们展示了代码如何可以一起运送通过最终用户可以有效审查的安全性证明,LLM 可以被视为高资源计算,而 LLM 用户则可以被视为低资源实体,从这个角度来看,PCC 自然地映射到了安全问题。该项目的技术目标分为四个主旨:(1)收集目前由法学硕士生成的代码的经验数据,并确定核心安全风险,以构建对以下有用的数据集。其他研究人员;(2)开发 PCC 框架,包括枚举感兴趣的安全属性并展示如何使用现有程序验证、证明语言和证明框架实例化该框架;(3)实现从源代码生成验证条件的新工具对于流行的编程语言和特定的安全属性;以及(4)评估在这种情况下使用法学硕士生成证明,包括开发新的算法和证明采样技术以提高模型的有效性。法学硕士当前的能力,到新的黑盒设置中代码生成的相关安全属性,以及生成验证条件的新技术——弥合形式验证技术从 Coq 和 Dafny 等专用语言到通用编程语言的差距该奖项反映了 NSF 的法定使命,并通过使用基金会的智力价值和更广泛的影响审查标准进行评估,被认为值得支持。
项目成果
期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
数据更新时间:{{ journalArticles.updateTime }}
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Caleb Stanford其他文献
Auditing Rust Crates Effectively
有效审核 Rust 箱子
- DOI:
- 发表时间:
- 期刊:
- 影响因子:0
- 作者:
David Thien;Lydia Zoghbi;Ranjit Jhala;D. Stefan;Caleb Stanford - 通讯作者:
Caleb Stanford
Ensuring the Reliability and Robustness of Database Management Systems
确保数据库管理系统的可靠性和稳健性
- DOI:
10.1134/s0016852120020065 - 发表时间:
2020-03-01 - 期刊:
- 影响因子:1.1
- 作者:
∗. HannesMühleisen;∗. DanicaPorobic;∗. ManuelRigger;SQLancer Tutorial;Lawrence Benson;Carsten Binnig;Federico Lorenzi;T. Rabl;Wensheng Dou;Burcu Adam Dickinson;Kulahcioglu Ozkan;Umang Mathur;Everett Maus;Stan Rosenberg;Gambhir Sankalp;Caleb Stanford;Denis Hirn;Moritz Eyssen;Tim Fischer;Torsten Grust;Muhammad Ali Gulzar;Thomas Neumann;Mark Raasveldt;Jinsheng Ba;Ankush Desai;Stefania Dumbrava;Florian Gerlinghoff;Hong Hu;Zu;Marcel Kost;Andrei Satarin;Thodoris Sotiropoulos;Russell Sears;Cheng Tan - 通讯作者:
Cheng Tan
Caleb Stanford的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Caleb Stanford', 18)}}的其他基金
Collaborative Research: SaTC: CORE: Medium: Refine the Gap: Establishing Safety for Modern Foreign Function Interfaces
协作研究:SaTC:核心:中:缩小差距:为现代外部功能接口建立安全性
- 批准号:
2327338 - 财政年份:2023
- 资助金额:
$ 30万 - 项目类别:
Continuing Grant
Collaborative Research: SaTC: CORE: Medium: Refine the Gap: Establishing Safety for Modern Foreign Function Interfaces
协作研究:SaTC:核心:中:缩小差距:为现代外部功能接口建立安全性
- 批准号:
2327338 - 财政年份:2023
- 资助金额:
$ 30万 - 项目类别:
Continuing Grant
相似国自然基金
基于多元矛盾体分离演绎的一阶逻辑自动定理证明器研究
- 批准号:62366017
- 批准年份:2023
- 资助金额:32 万元
- 项目类别:地区科学基金项目
特征为正的多元zeta函数值:Hopf代数结构的研究及其欧拉性相关猜想的证明与应用
- 批准号:12301015
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
简洁非交互零知识证明研究
- 批准号:62372447
- 批准年份:2023
- 资助金额:50 万元
- 项目类别:面上项目
基于消解证明的不完全知识推理可解释性研究及应用
- 批准号:62376066
- 批准年份:2023
- 资助金额:49 万元
- 项目类别:面上项目
统合分组密码模型及其可证明安全性
- 批准号:62372274
- 批准年份:2023
- 资助金额:50 万元
- 项目类别:面上项目
相似海外基金
TWC: Small: Collaborative: Toward Trusted Third-Party Microprocessor Cores: A Proof Carrying Code Approach
TWC:小型:协作:走向可信的第三方微处理器核心:携带代码的证明方法
- 批准号:
1319105 - 财政年份:2013
- 资助金额:
$ 30万 - 项目类别:
Standard Grant
TWC: Small: Collaborative: Toward Trusted Third-Party Microprocessor Cores: A Proof Carrying Code Approach
TWC:小型:协作:走向可信的第三方微处理器核心:携带代码的证明方法
- 批准号:
1318860 - 财政年份:2013
- 资助金额:
$ 30万 - 项目类别:
Standard Grant
Proof-Carrying Services (B04)
证明携带服务 (B04)
- 批准号:
201414865 - 财政年份:2011
- 资助金额:
$ 30万 - 项目类别:
Collaborative Research Centres
Proof-carrying programs
携带证明的程序
- 批准号:
203416-2002 - 财政年份:2005
- 资助金额:
$ 30万 - 项目类别:
Discovery Grants Program - Individual
Proof-carrying programs
携带证明的程序
- 批准号:
203416-2002 - 财政年份:2005
- 资助金额:
$ 30万 - 项目类别:
Discovery Grants Program - Individual