• 文献检索
  • 文档翻译
  • 深度研究
  • 学术资讯
  • Suppr Zotero 插件Zotero 插件
  • 邀请有礼
  • 套餐&价格
  • 历史记录
应用&插件
Suppr Zotero 插件Zotero 插件浏览器插件Mac 客户端Windows 客户端微信小程序
定价
高级版会员购买积分包购买API积分包
服务
文献检索文档翻译深度研究API 文档MCP 服务
关于我们
关于 Suppr公司介绍联系我们用户协议隐私条款
关注我们

Suppr 超能文献

核心技术专利:CN118964589B侵权必究
粤ICP备2023148730 号-1Suppr @ 2026

文献检索

告别复杂PubMed语法,用中文像聊天一样搜索,搜遍4000万医学文献。AI智能推荐,让科研检索更轻松。

立即免费搜索

文件翻译

保留排版,准确专业,支持PDF/Word/PPT等文件格式,支持 12+语言互译。

免费翻译文档

深度研究

AI帮你快速写综述,25分钟生成高质量综述,智能提取关键信息,辅助科研写作。

立即免费体验

程序合成:挑战与机遇。

Program synthesis: challenges and opportunities.

作者信息

David Cristina, Kroening Daniel

机构信息

Department of Computer Science, University of Oxford, Oxford, UK.

Department of Computer Science, University of Oxford, Oxford, UK

出版信息

Philos Trans A Math Phys Eng Sci. 2017 Oct 13;375(2104). doi: 10.1098/rsta.2015.0403.

DOI:10.1098/rsta.2015.0403
PMID:28871052
原文链接:https://pmc.ncbi.nlm.nih.gov/articles/PMC5597726/
Abstract

Program synthesis is the mechanized construction of software, dubbed 'self-writing code'. Synthesis tools relieve the programmer from thinking about how the problem is to be solved; instead, the programmer only provides a description of what is to be achieved. Given a specification of what the program should do, the synthesizer generates an implementation that provably satisfies this specification. From a logical point of view, a program synthesizer is a solver for second-order existential logic. Owing to the expressiveness of second-order logic, program synthesis has an extremely broad range of applications. We survey some of these applications as well as recent trends in the algorithms that solve the program synthesis problem. In particular, we focus on an approach that has raised the profile of program synthesis and ushered in a generation of new synthesis tools, namely counter-example-guided inductive synthesis (CEGIS). We provide a description of the CEGIS architecture, followed by recent algorithmic improvements. We conjecture that the capacity of program synthesis engines will see further step change, in a manner that is transparent to the applications, which will open up an even broader range of use-cases.This article is part of the themed issue 'Verified trustworthy software systems'.

摘要

程序合成是软件的机械化构建,即所谓的“自编写代码”。合成工具使程序员无需思考如何解决问题;相反,程序员只需提供对要实现目标的描述。给定程序应执行的规范,合成器会生成一个可证明满足该规范的实现。从逻辑角度来看,程序合成器是二阶存在逻辑的求解器。由于二阶逻辑的表达能力,程序合成具有极其广泛的应用范围。我们将概述其中一些应用以及解决程序合成问题的算法的最新趋势。特别是,我们将重点关注一种提升了程序合成知名度并催生了新一代合成工具的方法,即反例引导的归纳合成(CEGIS)。我们将描述CEGIS架构,随后介绍最近的算法改进。我们推测,程序合成引擎的能力将进一步实现跨越式发展,且这种发展对应用来说是透明的,这将开辟更广泛的用例范围。本文是主题为“经过验证的可信软件系统”的特刊的一部分。

https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/a3ab6976b56e/rsta20150403-g15.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/44498f9160d2/rsta20150403-g1.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/fd19610cf462/rsta20150403-g2.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/09e8166952fa/rsta20150403-g3.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/a1b400395b02/rsta20150403-g4.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/c0b92a0a80a1/rsta20150403-g5.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/73cb2ae85e90/rsta20150403-g6.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/89bbbc4981b6/rsta20150403-g7.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/7e1bdd652ed5/rsta20150403-g8.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/70222b52c649/rsta20150403-g9.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/83ee303d3066/rsta20150403-g10.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/1d808d2ba8d4/rsta20150403-g11.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/9bc79e1a3eed/rsta20150403-g12.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/cd2de986cc24/rsta20150403-g13.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/52586168a2a7/rsta20150403-g14.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/a3ab6976b56e/rsta20150403-g15.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/44498f9160d2/rsta20150403-g1.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/fd19610cf462/rsta20150403-g2.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/09e8166952fa/rsta20150403-g3.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/a1b400395b02/rsta20150403-g4.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/c0b92a0a80a1/rsta20150403-g5.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/73cb2ae85e90/rsta20150403-g6.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/89bbbc4981b6/rsta20150403-g7.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/7e1bdd652ed5/rsta20150403-g8.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/70222b52c649/rsta20150403-g9.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/83ee303d3066/rsta20150403-g10.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/1d808d2ba8d4/rsta20150403-g11.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/9bc79e1a3eed/rsta20150403-g12.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/cd2de986cc24/rsta20150403-g13.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/52586168a2a7/rsta20150403-g14.jpg
https://cdn.ncbi.nlm.nih.gov/pmc/blobs/9cc8/5597726/a3ab6976b56e/rsta20150403-g15.jpg

相似文献

1
Program synthesis: challenges and opportunities.程序合成:挑战与机遇。
Philos Trans A Math Phys Eng Sci. 2017 Oct 13;375(2104). doi: 10.1098/rsta.2015.0403.
2
Provably trustworthy systems.可证明可信的系统。
Philos Trans A Math Phys Eng Sci. 2017 Oct 13;375(2104). doi: 10.1098/rsta.2015.0404.
3
Synthesising Programs with Non-trivial Constants.合成带有非平凡常量的程序。
J Autom Reason. 2023;67(2):19. doi: 10.1007/s10817-023-09664-4. Epub 2023 May 13.
4
Industrial hardware and software verification with ACL2.使用ACL2进行工业硬件和软件验证。
Philos Trans A Math Phys Eng Sci. 2017 Oct 13;375(2104). doi: 10.1098/rsta.2015.0399.
5
Compositional relaxed concurrency.组合式宽松并发
Philos Trans A Math Phys Eng Sci. 2017 Oct 13;375(2104). doi: 10.1098/rsta.2015.0406.
6
The HACMS program: using formal methods to eliminate exploitable bugs.HACMS 计划:运用形式化方法消除可被利用的漏洞。
Philos Trans A Math Phys Eng Sci. 2017 Oct 13;375(2104). doi: 10.1098/rsta.2015.0401.
7
Live synthesis.实时合成
Innov Syst Softw Eng. 2022;18(3):443-454. doi: 10.1007/s11334-022-00447-5. Epub 2022 Mar 31.
8
Position paper: the science of deep specification.立场文件:深度规范科学
Philos Trans A Math Phys Eng Sci. 2017 Oct 13;375(2104). doi: 10.1098/rsta.2016.0331.
9
Depressing time: Waiting, melancholia, and the psychoanalytic practice of care压抑的时光:等待、忧郁与精神分析的关怀实践
10
Macromolecular crowding: chemistry and physics meet biology (Ascona, Switzerland, 10-14 June 2012).大分子拥挤现象:化学与物理邂逅生物学(瑞士阿斯科纳,2012年6月10日至14日)
Phys Biol. 2013 Aug;10(4):040301. doi: 10.1088/1478-3975/10/4/040301. Epub 2013 Aug 2.

引用本文的文献

1
Plant science in the age of simulation intelligence.模拟智能时代的植物科学。
Front Plant Sci. 2024 Jan 16;14:1299208. doi: 10.3389/fpls.2023.1299208. eCollection 2023.
2
Program Synthesis of Sparse Algorithms for Wave Function and Energy Prediction in Grid-Based Quantum Simulations.基于网格的量子模拟中波函数和能量预测的稀疏算法的程序合成
J Chem Theory Comput. 2022 Apr 12;18(4):2462-2478. doi: 10.1021/acs.jctc.2c00035. Epub 2022 Mar 16.
3
Verified trustworthy software systems.经过验证的可信软件系统。

本文引用的文献

1
Automated formal synthesis of provably safe digital controllers for continuous plants.用于连续工厂的可证明安全数字控制器的自动化形式合成。
Acta Inform. 2020;57(1):223-244. doi: 10.1007/s00236-019-00359-1. Epub 2019 Dec 6.
Philos Trans A Math Phys Eng Sci. 2017 Oct 13;375(2104). doi: 10.1098/rsta.2015.0408.