Synthesising Programs with Non-trivial Constants.

IF 0.9 3区 计算机科学 Q4 COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE
Journal of Automated Reasoning Pub Date : 2023-01-01 Epub Date: 2023-05-13 DOI:10.1007/s10817-023-09664-4
Alessandro Abate, Haniel Barbosa, Clark Barrett, Cristina David, Pascal Kesseli, Daniel Kroening, Elizabeth Polgreen, Andrew Reynolds, Cesare Tinelli
{"title":"Synthesising Programs with Non-trivial Constants.","authors":"Alessandro Abate,&nbsp;Haniel Barbosa,&nbsp;Clark Barrett,&nbsp;Cristina David,&nbsp;Pascal Kesseli,&nbsp;Daniel Kroening,&nbsp;Elizabeth Polgreen,&nbsp;Andrew Reynolds,&nbsp;Cesare Tinelli","doi":"10.1007/s10817-023-09664-4","DOIUrl":null,"url":null,"abstract":"<p><p>Program synthesis is the mechanised construction of software. One of the main difficulties is the efficient exploration of the very large solution space, and tools often require a user-provided syntactic restriction of the search space. While useful in general, such syntactic restrictions provide little help for the generation of programs that contain non-trivial constants, unless the user is able to provide the constants in advance. This is a fundamentally difficult task for state-of-the-art synthesisers. We propose a new approach to the synthesis of programs with non-trivial constants that combines the strengths of a counterexample-guided inductive synthesiser with those of a theory solver, exploring the solution space more efficiently without relying on user guidance. We call this approach CEGIS(<math><mi>T</mi></math>), where <math><mi>T</mi></math> is a first-order theory. We present two exemplars, one based on Fourier-Motzkin (FM) variable elimination and one based on first-order satisfiability. We demonstrate the practical value of CEGIS(<math><mi>T</mi></math>) by automatically synthesising programs for a set of intricate benchmarks. Additionally, we present a case study where we integrate CEGIS(<math><mi>T</mi></math>) within the mature synthesiser CVC4 and show that CEGIS(<math><mi>T</mi></math>) improves CVC4's results.</p>","PeriodicalId":15082,"journal":{"name":"Journal of Automated Reasoning","volume":"67 2","pages":"19"},"PeriodicalIF":0.9000,"publicationDate":"2023-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10182957/pdf/","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Automated Reasoning","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1007/s10817-023-09664-4","RegionNum":3,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2023/5/13 0:00:00","PubModel":"Epub","JCR":"Q4","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
引用次数: 1

Abstract

Program synthesis is the mechanised construction of software. One of the main difficulties is the efficient exploration of the very large solution space, and tools often require a user-provided syntactic restriction of the search space. While useful in general, such syntactic restrictions provide little help for the generation of programs that contain non-trivial constants, unless the user is able to provide the constants in advance. This is a fundamentally difficult task for state-of-the-art synthesisers. We propose a new approach to the synthesis of programs with non-trivial constants that combines the strengths of a counterexample-guided inductive synthesiser with those of a theory solver, exploring the solution space more efficiently without relying on user guidance. We call this approach CEGIS(T), where T is a first-order theory. We present two exemplars, one based on Fourier-Motzkin (FM) variable elimination and one based on first-order satisfiability. We demonstrate the practical value of CEGIS(T) by automatically synthesising programs for a set of intricate benchmarks. Additionally, we present a case study where we integrate CEGIS(T) within the mature synthesiser CVC4 and show that CEGIS(T) improves CVC4's results.

Abstract Image

合成具有非平凡常数的程序。
程序综合是软件的机械化构造。主要困难之一是对非常大的解决方案空间的有效探索,并且工具通常需要用户提供的搜索空间的语法限制。虽然这种语法限制通常很有用,但对于生成包含非平凡常量的程序几乎没有帮助,除非用户能够提前提供常量。对于最先进的合成器来说,这是一项根本困难的任务。我们提出了一种新的方法来合成具有非平凡常数的程序,该方法将反例引导的归纳合成器的优势与理论求解器的优势相结合,在不依赖用户指导的情况下更有效地探索求解空间。我们称这种方法为CEGIS(T),其中T是一阶理论。我们给出了两个例子,一个基于傅立叶-莫兹金(FM)变量消去法,另一个基于一阶可满足性。我们通过自动合成一组复杂基准的程序来证明CEGIS(T)的实用价值。此外,我们还介绍了一个案例研究,其中我们将CEGIS(T)集成到成熟的合成器CVC4中,并表明CEGIS(T)改进了CVC4的结果。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Journal of Automated Reasoning
Journal of Automated Reasoning 工程技术-计算机:人工智能
CiteScore
3.60
自引率
9.10%
发文量
31
审稿时长
>12 weeks
期刊介绍: The Journal of Automated Reasoning is an interdisciplinary journal that maintains a balance between theory, implementation and application. The spectrum of material published ranges from the presentation of a new inference rule with proof of its logical properties to a detailed account of a computer program designed to solve various problems in industry. The main fields covered are automated theorem proving, logic programming, expert systems, program synthesis and validation, artificial intelligence, computational logic, robotics, and various industrial applications. The papers share the common feature of focusing on several aspects of automated reasoning, a field whose objective is the design and implementation of a computer program that serves as an assistant in solving problems and in answering questions that require reasoning. The Journal of Automated Reasoning provides a forum and a means for exchanging information for those interested purely in theory, those interested primarily in implementation, and those interested in specific research and industrial applications.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信