Holistic Specifications for Robust Programs

02/19/2020
by   Sophia Drossopoulou, et al.
0

Functional specifications describe what program components do: the sufficient conditions to invoke a component's operations. They allow us to reason about the use of components in the closed world setting, where the component interacts with known client code, and where the client code must establish the appropriate pre-conditions before calling into the component. Sufficient conditions are not enough to reason about the use of components in the open world setting, where the component interacts with external code, possibly of unknown provenance, and where the component itself may evolve over time. In this open world setting, we must also consider the necessary conditions, i.e, what are the conditions without which an effect will not happen. In this paper we propose the language Chainmail for writing holistic specifications that focus on necessary conditions (as well as sufficient conditions). We give a formal semantics for . The core of Chainmail has been mechanised in the Coq proof assistant.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/23/2017

A characterization of Linearizable instances of the Quadratic Traveling Salesman Problem

We consider the linearization problem associated with the quadratic trav...
research
02/11/2022

Necessary and sufficient conditions for identifiability in the admixture model

We consider M SNP data from N individuals who are an admixture of K unkn...
research
04/11/2023

Necessary and Sufficient Conditions for Simultaneous State and Input Recovery of Linear Systems with Sparse Inputs by ℓ_1-Minimization

The study of theoretical conditions for recovering sparse signals from c...
research
11/13/2018

FrAngel: Component-Based Synthesis with Control Structures

In component-based program synthesis, the synthesizer generates a progra...
research
01/11/2022

Sufficient conditions for perfect mixed tilings

We develop a method to study sufficient conditions for perfect mixed til...
research
11/13/2017

Linking Types for Multi-Language Software: Have Your Cake and Eat It Too

Software developers compose systems from components written in many diff...
research
02/24/2014

A Technique for Deriving Equational Conditions on the Denavit-Hartenberg Parameters of 6R Linkages that are Necessary for Movability

A closed 6R linkage is generically rigid. Special cases may be mobile. M...

Please sign up or login with your details

Forgot password? Click here to reset