How to produce correct software -- an introduction to formal specification and program development by transformations

Boiten, E.A. and Partsch, H.A. and Tuijnman, D. and Völker, N. (1992) How to produce correct software -- an introduction to formal specification and program development by transformations. Computer Journal, 35 (6). pp. 547-554. (The full text of this publication is not available from this repository)

The full text of this publication is not available from this repository. (Contact us about this Publication)

Abstract

The task of software production is to build software systems which are to fulfil certain requirements. For years the approach has been to build up by trial and error a program which, having satisfied carefully prepared test data, offers a plausible solution to the problem. But is it correct? Even for toy examples this is not obvious. In particular, it is often not even clear whether the original problem has been fully understood. The reason for this dilemma is that the transition from the informal problem statement to the final program is too big to be intellectually managable. To master these problems, we advocate a software development method where the whole process is split into smaller steps by introducing formal specifications for (parts of) the problem and then stepwisely deriving efficient programs by correctness-preserving transformations.

Item Type: Article
Uncontrolled keywords: transformational programming, formal specification
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing > Theoretical Computing Group
Faculties > Science Technology and Medical Studies > School of Computing > Systems Architecture Group
Depositing User: Mark Wheadon
Date Deposited: 04 Aug 2009 18:26
Last Modified: 24 Apr 2012 14:39
Resource URI: http://kar.kent.ac.uk/id/eprint/21019 (The current URI for this page, for reference purposes)
  • Depositors only (login required):