Whither Programs as Specifications

06/09/2019
by   David A. Naumann, et al.
0

Unifying theories distil common features of programming languages and design methods by means of algebraic operators and their laws. Several practical concerns---e.g., improvement of a program, conformance of code with design, correctness with respect to specified requirements---are subsumed by the beautiful notion that programs and designs are special forms of specification and their relationships are instances of logical implication between specifications. Mathematical development of this idea has been very successful but limited to an impoverished notion of specification: trace properties. Some mathematically precise properties of programs---dubbed hyperproperties---refer to traces collectively. For example, confidentiality involves knowledge of possible traces. This article reports on both obvious and surprising results about lifting algebras of programming to hyperproperties, especially in connection with loops, and suggests directions for further research. The main results are: the first compositional semantics of imperative programs with loops, at the hyper level, and a proof that this semantics is the same as the direct image of a standard semantics, for subset closed hyperproperties.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/04/2019

A Denotational Engineering of Programming Languages

The book is devoted to two research areas: (1) Designing programming lan...
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...
research
08/21/2020

Describing Console I/O Behavior for Testing Student Submissions in Haskell

We present a small, formal language for specifying the behavior of simpl...
research
10/17/2022

Contextuality in distributed systems

We present a lattice of distributed program specifications, whose orderi...
research
02/20/2022

ExAIS: Executable AI Semantics

Neural networks can be regarded as a new programming paradigm, i.e., ins...
research
10/29/2018

Trace Abstraction Modulo Probability

We propose trace abstraction modulo probability, a proof technique for v...
research
08/23/2019

On the Meaning of Transition System Specifications

Transition System Specifications provide programming and specification l...

Please sign up or login with your details

Forgot password? Click here to reset