Refinement and retrenchment for programming language data types

被引:1
|
作者
Beckert, B [1 ]
Schlager, S
机构
[1] Univ Koblenz Landau, Inst Comp Sci, D-56070 Koblenz, Germany
[2] Univ Karlsruhe, Inst Theoret Comp Sci, D-76128 Karlsruhe, Germany
关键词
software verification; formal specification; retrenchment refinement; !text type='Java']Java[!/text; UML/OCL; integer arithmetic;
D O I
10.1007/s00165-005-0073-x
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 Z. 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.
引用
收藏
页码:423 / 442
页数:20
相关论文
共 50 条
  • [31] Data definition in the programming language MARKIZ
    Mikhelev, V.M.
    2001, Nauka Moscow (27):
  • [32] Data Visualization in *AIDA Programming Language
    Nakayama, Kanto
    Watanobe, Yutaka
    2013 INTERNATIONAL JOINT CONFERENCE ON AWARENESS SCIENCE AND TECHNOLOGY & UBI-MEDIA COMPUTING (ICAST-UMEDIA), 2013, : 383 - 388
  • [33] Data Definition in the Programming Language MARKIZ
    V. M. Mikhelev
    Programming and Computer Software, 2001, 27 : 50 - 56
  • [34] A Visual Programming Language for Data Transformation
    Tu, Pin-Yin
    Chen, Woei-Kae
    Cheng, Yu Chin
    CSA 2008: INTERNATIONAL SYMPOSIUM ON COMPUTER SCIENCE AND ITS APPLICATIONS, PROCEEDINGS, 2008, : 96 - 101
  • [35] Programming with Binders and Indexed Data-Types
    Cave, Andrew
    Pientka, Brigitte
    POPL 12: PROCEEDINGS OF THE 39TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2012, : 413 - 424
  • [36] Programming with Binders and Indexed Data-Types
    Cave, Andrew
    Pientka, Brigitte
    ACM SIGPLAN NOTICES, 2012, 47 (01) : 413 - 424
  • [37] More types for nested data parallel programming
    Chakravarty, MMT
    Keller, G
    ACM SIGPLAN NOTICES, 2000, 35 (09) : 94 - 105
  • [38] Support for value types in an object-oriented programming language
    Ritterbach, B
    OBJECT-ORIENTED AND INTERNET-BASED TECHNOLOGIES, PROCEEDINGS, 2004, 3263 : 9 - 23
  • [39] Implementation techniques of polymorphic types in functional programming language compilers
    Huang, Minghe
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 1995, 32 (11): : 8 - 15
  • [40] A Programming Language for Data Privacy with Accuracy Estimations
    Lobo-Vesga, Elisabet
    Russo, Alejandro
    Gaboardi, Marco
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2021, 43 (02):