Java’s Integral Types in PVS

DOI: 10.1007/978-3-540-39958-2_1
Source: CiteSeer

ABSTRACT This paper presents an extension of the standard bitvector library of the theorem prover PVS with multiplication, division
and remainder operations, together with associated results. This extension is needed to give correct semantics to Java’s integral
types in program verification. Special emphasis is put on Java’s widening and narrowing functions in relation to the newly
defined operations on bitvectors.

  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: We describe a method for combining formal program development with a disciplined and documented way of introducing realistic compromises, for example necessitated by resource bounds. Idealistic specifications are identified with the limits of sequences of more “realistic” specifications, and such sequences can then be refined in their entirety. Compromises amount to focusing the attention on a particular element of the sequence instead of the sequence as a whole. This method addresses the problem that initial formal specifications can be abstract or complete but rarely both. Various potential application areas are sketched, some illustrated with examples. Key research issues are found in identifying metric spaces and properties that make them usable for refinement using approximations. KeywordsRefinement-approximations-metric spaces
    04/2005: pages 3-7;
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Auteursnaam op omslag: Martijn Warnier. Proefschrift Radboud Universiteit Nijmegen. Lit. opg. - Index. - Met samenvatting in het Nederlands.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Renemen t is a well-established and accepted technique for the systematic development of cor- rect software systems. However, for the step from already rened specication to implementation, a correct renemen t is often not possible because the data types used in the specication respectively the implementa- tion language dier. In this paper, we discuss this problem and its consequences, using the integer data types of Java as an example, which do not correctly rene the mathematical integers Z. We present a solution, which can be seen as a generalisation of renemen t and a variant of retrenchment. It has successfully been implemented as part of the KeY software verication system.
    Formal Aspects of Computing 01/2005; 17:423-442. · 0.50 Impact Factor


Available from