Data refinement is a technique for transforming system specifications into system implementation that differs in data types. It gives us the freedom to write specifications in a way that is independent of its implementation; moreover we can generate multiple implementations without changing the system specifications, the client does not have to worry about the underlying implementation. Abstraction Invariant is used to relate the high level abstract specification to its concrete implementation. Dafny is a research language developed by Microsoft. Its main focus is data refinement. The language provides the rich mathematical properties such as sequences, sets and multi-set, along with functions, predicates, methods and user defined data type...
Data refinement is a special instance of refinement where a specification is refined by replacing th...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
The construction of a high-assurance system requires some evidence, ideally a proof, that the system...
Data refinement is a technique for transforming system specifications into system implementation tha...
A hallmark of modern programming languages is the strict isolation guarantees they provide to client...
This thesis is about techniques for proving the functional correctness of Abstract Data Type (ADT) i...
Data refinements are refinement steps in which a program’s local data structures are changed. Data r...
Dafny is a programming language supporting verified high level programming. It has many features tha...
The specification of object-oriented and other pointer-based programs must be able to describe the s...
Data refinement is the transformation in a program of one data type to another. With the obvious for...
We define a very general notion of data refinement which comprises the traditional notion of data re...
Data refinement is converting a program that uses one set of variables to an equally correct program...
This paper explores the role for mechanised support for refining specifications to executable progra...
AbstractPrecise module interface specifications are essential in modular software development. The r...
In [5] we introduced a framework for specification of parameterized data types utilizing a generaliz...
Data refinement is a special instance of refinement where a specification is refined by replacing th...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
The construction of a high-assurance system requires some evidence, ideally a proof, that the system...
Data refinement is a technique for transforming system specifications into system implementation tha...
A hallmark of modern programming languages is the strict isolation guarantees they provide to client...
This thesis is about techniques for proving the functional correctness of Abstract Data Type (ADT) i...
Data refinements are refinement steps in which a program’s local data structures are changed. Data r...
Dafny is a programming language supporting verified high level programming. It has many features tha...
The specification of object-oriented and other pointer-based programs must be able to describe the s...
Data refinement is the transformation in a program of one data type to another. With the obvious for...
We define a very general notion of data refinement which comprises the traditional notion of data re...
Data refinement is converting a program that uses one set of variables to an equally correct program...
This paper explores the role for mechanised support for refining specifications to executable progra...
AbstractPrecise module interface specifications are essential in modular software development. The r...
In [5] we introduced a framework for specification of parameterized data types utilizing a generaliz...
Data refinement is a special instance of refinement where a specification is refined by replacing th...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
The construction of a high-assurance system requires some evidence, ideally a proof, that the system...