Pointer Data Structure Synthesis from Answer Set Programming Specifications

06/12/2020
by   Sarat Chandra Varanasi, et al.
0

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.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

09/19/2019

Imperative Program Synthesis from Answer Set Programs

Our research concerns generating imperative programs from Answer Set Pro...
09/22/2020

A Machine Learning guided Rewriting Approach for ASP Logic Programs

Answer Set Programming (ASP) is a declarative logic formalism that allow...
08/05/2020

Modular Answer Set Programming as a Formal Specification Language

In this paper, we study the problem of formal verification for Answer Se...
07/05/2017

Information-gain computation

Despite large incentives, ecorrectness in software remains an elusive go...
02/24/2018

Time Series Learning using Monotonic Logical Properties

We propose a new paradigm for time-series learning where users implicitl...
09/24/2021

How to write a coequation

There is a large amount of literature on the topic of covarieties, coequ...
07/11/2019

Provenance for Large-scale Datalog

Logic programming languages such as Datalog have become popular as Domai...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.