Artigo Acesso aberto Revisado por pares

General correctness: A unification of partial and total correctness

1985; Springer Science+Business Media; Volume: 22; Issue: 1 Linguagem: Inglês

10.1007/bf00290146

ISSN

1432-0525

Autores

Dean Jacobs, David Gries,

Tópico(s)

Formal Methods in Verification

Resumo

General correctness, which subsumes partial and total correctness, is defined for both weakest preconditions and strongest postconditions. Healthiness properties for general-correctness predicate transformers are more uniform and complete than those for partial- and total-correctness systems. In fact, the healthiness properties for partial and total correctness are simple restrictions of those for general correctness. General correctness allows simple formulations of the connections between weakest and strongest postconditions and between the notions of weakest precondition under the “demonic” and “angelic” interpretations of nondeterminism. A problem that plagues sp-sp(P, C) is undefined if execution of C begun in some state of P may not terminate — disappears with the generalization. This paper is a study of some simple theory underlying predicate transformer semantics, and as yet has little bearing on current programming practices. The theory uses a relational model of programs.

Referência(s)