Abstract
Implementation of a utility to check a truth table for complete coverage, in support of the Cleanroom software development methodology.
This publication is available in Web form and also as a PDF document.
Please forward any comments to tcc-doc@nmt.edu.
Table of Contents
main()fatal(): Fatal errorsclass TruthsTruths.__init__()Truths._lineCheck(): Check one input
lineTruths.check(): Generate error
messagesTruths._permuter(): Generate all possible
input setsTruths._inputCheck(): Check one input
setTruths._caseCheck(): Check one caseTruths._codeMatchTruths._uncovered(): Message for an uncovered
input setTruths._showInputs(): Display a set of input
conditionsTruths._overcovered(): Message for an
over-covered input setTruths._oneCase(): Display the codes for one
caseThis publication contains a lightweight literate program that is part of the author's practice of the Cleanroom software development methodology.
We use the term prime to mean a single module or “black box” that is the unit of design and verification in the Cleanroom methodology.
When verifying the correctness of a prime, it is often valuable to construct a trace table showing the state of various items during execution. Such a table can be used by the developer for self-verification, or as a visual aid during peer review.
For a prime that has only one route through it, one trace table suffices. However, when there are multiple routes through the code, it is necessary to construct a separate trace table for each possible route.
The purpose of the tracecase script is to insure that every possible route through the code has been covered.