Refinement and retrenchment for programming language data types

5Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.

Abstract

Refinement is a well-established and accepted technique for the systematic development of correct software systems. However, for the step from already refined specification to implementation, a correct refinement is often not possible because the data types used in the specification respectively the implementation language differ. In this paper, we discuss this problem and its consequences, using the integer data types of Java as an example, which do not correctly refine the mathematical integers ℤ. We present a solution, which can be seen as a generalisation of refinement and a variant of retrenchment. It has successfully been implemented as part of the KeY software verification system.

Cite

CITATION STYLE

APA

Beckert, B., & Schlager, S. (2005). Refinement and retrenchment for programming language data types. In Formal Aspects of Computing (Vol. 17, pp. 423–442). https://doi.org/10.1007/s00165-005-0073-x

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free