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

page 1

page 2

page 3

page 4

research
09/19/2019

Imperative Program Synthesis from Answer Set Programs

Our research concerns generating imperative programs from Answer Set Pro...
research
04/27/2023

Proving Logical Atomicity using Lock Invariants

Logical atomicity has been widely accepted as a specification format for...
research
09/22/2020

A Machine Learning guided Rewriting Approach for ASP Logic Programs

Answer Set Programming (ASP) is a declarative logic formalism that allow...
research
04/25/2023

Resource Specifications for Resource-Manipulating Programs

Specifications for modular program verifiers are expressed as constraint...
research
02/24/2018

Time Series Learning using Monotonic Logical Properties

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

How to write a coequation

There is a large amount of literature on the topic of covarieties, coequ...
research
11/02/2022

A logical framework to model software development by multiple agents following a common specification

In this paper, we address program development by multiple different prog...

Please sign up or login with your details

Forgot password? Click here to reset