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.
当今的程序员正在使用大型语言模型(LLMS)来自动生成代码建议和代码完成来加速软件开发。广泛使用的示例包括Github Copilot和Openai Chatgpt。但是,这些工具生成的代码可能具有用户未捕获的错误,这具有严重的安全风险。该项目将利用一个称为“证明携带代码”的想法,其中代码建议与其安全性的数学证明一起包装,使程序员可以确信该程序可以安全地部署。该项目将开发工具,技术和经验结果,用于使用LLMS生成可信赖的代码以及数学证明。项目成果,包括代码,数据集和课程材料,将在公开场合开发,并在线提供了从事LLMS的研究人员,基于LLM的代码生成的最终用户,以及早期行业和开放源代码的采用者。在1990年代,编程语言的研究人员社区中的研究人员认识到了一个有力的想法,即通过效率来证明了一个效率的证明,可以证明其效率 - 可以通过效率进行证明,从而可以通过证明自己的安全。 LLM可以被视为高资源计算,而LLM用户则被视为低资源实体。通过此镜头可以自然地映射到LLM生成的代码的安全问题。该项目的技术目的分为四个推力:(1)收集有关LLMS当前生成的代码的经验数据,并确定核心安全风险,以构建对其他研究人员有用的数据集; (2)为PCC开发一个框架,包括列举感兴趣的安全性能,并展示如何使用现有的程序验证,证明语言和证明框架实例化框架; (3)实施新工具以验证条件从流行编程语言和特定安全性属性的源代码生成的新工具; (4)评估在这种情况下使用LLM来生成证明的使用,包括开发新算法和证明采样技术以提高模型效率。这项研究将导致对LLM当前功能的新见解,在黑色盒子环境中为代码生成的新相关安全性,以及新的技术以生成验证条件 - 以弥合正式验证技术的差距,从特殊用途的语言中,来自COQ和DAFNY等普通使用语言(通过普通的编程语言)的特殊性语言进行了评估。基金会的智力优点和更广泛的影响评论标准。
项目成果
期刊论文数量(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
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
相似国自然基金
统合分组密码模型及其可证明安全性
- 批准号:62372274
- 批准年份:2023
- 资助金额:50 万元
- 项目类别:面上项目
特征为正的多元zeta函数值:Hopf代数结构的研究及其欧拉性相关猜想的证明与应用
- 批准号:12301015
- 批准年份:2023
- 资助金额:30 万元
- 项目类别:青年科学基金项目
简洁非交互零知识证明研究
- 批准号:62372447
- 批准年份:2023
- 资助金额:50 万元
- 项目类别:面上项目
基于多元矛盾体分离演绎的一阶逻辑自动定理证明器研究
- 批准号:62366017
- 批准年份:2023
- 资助金额:32 万元
- 项目类别:地区科学基金项目
基于格的高效零知识证明的研究及应用
- 批准号:62302418
- 批准年份:2023
- 资助金额:30.00 万元
- 项目类别:青年科学基金项目
相似海外基金
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 - 财政年份:2004
- 资助金额:
$ 30万 - 项目类别:
Discovery Grants Program - Individual