当前位置: X-MOL 学术arXiv.cs.SC › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Pointer Data Structure Synthesis from Answer Set Programming Specifications
arXiv - CS - Symbolic Computation Pub Date : 2020-06-12 , DOI: arxiv-2006.07440
Sarat Chandra Varanasi, Neeraj Mittal, Gopal Gupta

We develop an inductive proof-technique to generate imperative programs for pointer data structures from behavioural specifications expressed in the Answer Set Programming (ASP) formalism. ASP is a non-monotonic logic based formalism that employs negation-as-failure which helps emulate the human thought process, allowing domain experts to model desired system behaviour succinctly. We argue in this paper that ASP's reliance on negation-as-failure makes it a better formalism than those based on first-order logic for writing formal specifications. We assume the a domain expert provides the representation of inductively defined data structures along with a specification of its operations. Our procedures combined with our novel proof-technique reason over the specifications and automatically generate an imperative program. Our proof-technique leverages the idea of partial deduction to simplify logical specifications. By algebraically simplifying logical specifications we arrive at a residual specification which can be interpreted as an appropriate imperative program. This work is in the realm of constructing programs that are correct according to a given specification.

中文翻译:

来自答案集编程规范的指针数据结构综合

我们开发了一种归纳证明技术,以根据应答集编程 (ASP) 形式主义中表达的行为规范为指针数据结构生成命令式程序。ASP 是一种基于非单调逻辑的形式主义,它采用否定作为失败来帮助模拟人类的思维过程,允许领域专家简洁地建模所需的系统行为。我们在本文中认为 ASP 对失败否定的依赖使其成为比基于一阶逻辑编写形式规范的那些更好的形式主义。我们假设领域专家提供归纳定义的数据结构的表示及其操作的规范。我们的程序结合我们对规范的新颖证明技术原因,并自动生成一个命令式程序。我们的证明技术利用部分推导的思想来简化逻辑规范。通过代数简化逻辑规范,我们得到了一个残差规范,它可以被解释为一个适当的命令式程序。这项工作属于根据给定规范构建正确程序的领域。
更新日期:2020-08-14
down
wechat
bug