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 条
  • [41] 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):
  • [42] A New Programming Language for Data Science: Julia
    Turanli, Munevver
    Ozden, Unal Halit
    EKOIST-JOURNAL OF ECONOMETRICS AND STATISTICS, 2023, (38):
  • [43] THE DATA MODEL OF FAD, A DATABASE PROGRAMMING LANGUAGE
    DANFORTH, S
    VALDURIEZ, P
    INFORMATION SCIENCES, 1992, 60 (1-2) : 51 - 75
  • [44] THE SYNCHRONOUS DATA FLOW PROGRAMMING LANGUAGE LUSTER
    HALBWACHS, N
    CASPI, P
    RAYMOND, P
    PILAUD, D
    PROCEEDINGS OF THE IEEE, 1991, 79 (09) : 1305 - 1320
  • [45] Calypso: A visual language for data structures programming
    Wodtli, R
    Cull, P
    1997 IEEE SYMPOSIUM ON VISUAL LANGUAGES, PROCEEDINGS, 1997, : 164 - 165
  • [46] Flux - A Data-Flow Programming Language
    Ispas, R.
    Negreanu, L.
    CONTROL ENGINEERING AND APPLIED INFORMATICS, 2016, 18 (01): : 107 - 116
  • [47] Programming Without Refinement
    Benabdelali, Marwa
    Jilani, Lamia Labed
    Ghardallou, Wided
    Mili, Ali
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2018, (282): : 39 - 52
  • [48] Structured parallel programming: Parallel abstract data types
    Darlington, J
    1996 CERN SCHOOL OF COMPUTING, 1996, 96 (08): : 203 - 210
  • [49] Beluga: Programming with Dependent Types, Contextual Data, and Contexts
    Pientka, Brigitte
    FUNCTIONAL AND LOGIC PROGRAMMING, PROCEEDINGS, 2010, 6009 : 1 - 12
  • [50] Inductive data types based on fibrations theory in programming
    Miao D.
    Xi J.
    Guo Y.
    Tang D.
    2016, University of Zagreb, Faculty of Political Sciences (24) : 1 - 16