Abstract
Of the many ways to express program specifications, three of the most common are: as a pair of assertions, an input assertion and an output assertion; as a function mapping legal inputs to correct outputs; or as a relation containing the input/output pairs that are considered correct. The construction of programs consists of mapping a potentially complex specification into a program by recursively decomposing complex specifications into simpler ones. We show how this decomposition takes place in all three modes of specification and draw some conclusions on the nature of programming.
Original language | English (US) |
---|---|
Pages (from-to) | 231-276 |
Number of pages | 46 |
Journal | ACM Computing Surveys (CSUR) |
Volume | 18 |
Issue number | 3 |
DOIs | |
State | Published - Sep 1 1986 |
Externally published | Yes |
All Science Journal Classification (ASJC) codes
- Theoretical Computer Science
- General Computer Science
Keywords
- Alternation rule
- assertion-based specifications
- assignment rule
- function-based specifications
- generalization rule
- iteration rule
- relationbased specifications
- sequence rule