From Decision Procedures to Synthesis Procedures

R. Piskac
{"title":"From Decision Procedures to Synthesis Procedures","authors":"R. Piskac","doi":"10.1109/SYNASC.2015.78","DOIUrl":null,"url":null,"abstract":"Software synthesis is a technique for automatically generating code from a given specification. The goal of software synthesis is to make software development easier while increasing both the productivity of the programmer and the correctness of the produced code. In this paper we present an approach to synthesis that relies on the use of automated reasoning and decision procedures. First we describe how to generalize decision procedures into predictable and complete synthesis procedures.Here completeness means that the procedure is guaranteed to find code that satisfies the given specification. We illustrate the process of turning a decision procedure into a synthesis procedure using linear integer arithmetic as an example.However, writing a complete specification can be a tedious task,sometimes even harder than writing the code itself. To over come this problem, ideally the user could provide a few input-output examples, and then the code should be automatically derived.We outline how to broaden usability and applications of current software synthesis techniques. We conclude with an outlook on possible future research directions and applications of synthesis procedures.","PeriodicalId":6488,"journal":{"name":"2015 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)","volume":"91 1","pages":"3-10"},"PeriodicalIF":0.0000,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 17th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing (SYNASC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SYNASC.2015.78","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Software synthesis is a technique for automatically generating code from a given specification. The goal of software synthesis is to make software development easier while increasing both the productivity of the programmer and the correctness of the produced code. In this paper we present an approach to synthesis that relies on the use of automated reasoning and decision procedures. First we describe how to generalize decision procedures into predictable and complete synthesis procedures.Here completeness means that the procedure is guaranteed to find code that satisfies the given specification. We illustrate the process of turning a decision procedure into a synthesis procedure using linear integer arithmetic as an example.However, writing a complete specification can be a tedious task,sometimes even harder than writing the code itself. To over come this problem, ideally the user could provide a few input-output examples, and then the code should be automatically derived.We outline how to broaden usability and applications of current software synthesis techniques. We conclude with an outlook on possible future research directions and applications of synthesis procedures.
从决策程序到综合程序
软件合成是一种根据给定规范自动生成代码的技术。软件合成的目标是使软件开发更容易,同时提高程序员的生产力和生成代码的正确性。在本文中,我们提出了一种依赖于使用自动推理和决策程序的合成方法。首先,我们描述了如何将决策过程概括为可预测的和完整的综合过程。在这里,完整性意味着过程能够保证找到满足给定规范的代码。以线性整数算法为例,说明了将决策过程转化为综合过程的过程。然而,编写完整的规范可能是一项乏味的任务,有时甚至比编写代码本身还要困难。为了克服这个问题,理想情况下,用户可以提供一些输入输出示例,然后代码应该自动派生。我们概述了如何扩大现有软件合成技术的可用性和应用。最后展望了今后可能的研究方向和合成方法的应用前景。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
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学术官方微信