The invariant based programming is a technique of constructing correct programs by first identifying the basic situations (pre- and post-conditions and invariants) that can occur during the execution of the program, and then defining the transitions and proving that they preserve the invariants. Data refinement is a technique of build-ing correct programs working on concrete datatypes as refinements of more abstract programs. In the theories presented here we formalize the predicate transformer semantics for invariant based programs an
Data refinement is converting a program that uses one set of variables to an equally correct program...
. Coalgebraic specifications are used to formally describe the behaviour of classes in object-orient...
We develop an explicit two level system that allows programmers to reason about the behavior of effe...
AbstractInvariant based programming is an approach where we start to construct a program by first id...
Invariants allow a rigorous treatment of types as sets in the refinement calculus, a method for deve...
Reasoning about programs that use effects can be much harder than reasoning about their pure counter...
Abstract—Program invariants are statements or assertions that are widely used in program analysis an...
AbstractData refinement is the systematic substitution of one data type for another in a program. Us...
Formal techniques for specifying performance properties of programs (e.g., execution time) and for v...
Refactoring tools include checking of an object-oriented program for the fulfillment of precondition...
When proving invariance properties of programs one is faced with two problems. The first problem is ...
An invariant based program is a state transition diagram consisting of nested situations (predicates...
Although the program verification community has developed several techniques for analyzing software ...
We show how some classical static analyses for imperative programs, and the optimizing transformatio...
Program algebras abstract the essential properties of programming languages in the form of algebraic...
Data refinement is converting a program that uses one set of variables to an equally correct program...
. Coalgebraic specifications are used to formally describe the behaviour of classes in object-orient...
We develop an explicit two level system that allows programmers to reason about the behavior of effe...
AbstractInvariant based programming is an approach where we start to construct a program by first id...
Invariants allow a rigorous treatment of types as sets in the refinement calculus, a method for deve...
Reasoning about programs that use effects can be much harder than reasoning about their pure counter...
Abstract—Program invariants are statements or assertions that are widely used in program analysis an...
AbstractData refinement is the systematic substitution of one data type for another in a program. Us...
Formal techniques for specifying performance properties of programs (e.g., execution time) and for v...
Refactoring tools include checking of an object-oriented program for the fulfillment of precondition...
When proving invariance properties of programs one is faced with two problems. The first problem is ...
An invariant based program is a state transition diagram consisting of nested situations (predicates...
Although the program verification community has developed several techniques for analyzing software ...
We show how some classical static analyses for imperative programs, and the optimizing transformatio...
Program algebras abstract the essential properties of programming languages in the form of algebraic...
Data refinement is converting a program that uses one set of variables to an equally correct program...
. Coalgebraic specifications are used to formally describe the behaviour of classes in object-orient...
We develop an explicit two level system that allows programmers to reason about the behavior of effe...