Proving Properties of Programs on Hierarchical Nominative Data

被引:0
|
作者
Ivanov, Ievgen [1 ]
Nikitchenko, Mykola [1 ]
Skobelev, Volodymyr G. [2 ]
机构
[1] Taras Shevchenko Natl Univ Kyiv, 64-13 Volodymyrska Str, UA-01601 Kiev, Ukraine
[2] NAS Ukraine, VM Glushkov Inst Cybernet, 40 Glushkova Ave, UA-03187 Kiev, Ukraine
关键词
Programming language semantics; algorithmic algebras; nominative data; composition; Friedman scheme;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In the paper we develop methods for proving properties of programs on hierarchical nominative data on the basis of the composition-nominative approach. In accordance with this approach, the semantics of a program is a function on nominative data constructed from basic operations using compositions ( operations on functions) which represent programming language constructs. Nominative data can be considered as a class of abstract data models which is able to represent many concrete types of structured and semistructured data that appear in programming. Thus, proofs of properties of programs depend on proofs of properties of compositions and basic operations on nominative data. To simplify the parts of such proofs that deal with program compositions we propose to represent compositions of programs on nominative data using effective definitional schemes of H. Friedman. This permits us to consider proofs in data algebras (which are simpler to derive, automate, etc.) instead of proofs in program algebras. In particular, we demonstrate that the properties of programs related to structural transformations of data can be reduced to the data level. The obtained results can be used in software development and verification.
引用
收藏
页码:371 / 398
页数:28
相关论文
共 50 条
  • [31] PROVING TERMINATION OF COMMUNICATING PROGRAMS
    PACZKOWSKI, P
    LECTURE NOTES IN COMPUTER SCIENCE, 1990, 458 : 416 - 426
  • [32] Proving Properties of Sorting Programs: A Case Study in Horn Clause Verification
    De Angelis, Emanuele
    Pettorossi, Alberto
    Fioravanti, Fabio
    Proietti, Maurizio
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (296): : 48 - 75
  • [33] SPECIFICATION AND PROVING OF COMMAND PROGRAMS
    NEUHOLD, EJ
    WELLER, T
    ACTA INFORMATICA, 1976, 6 (01) : 15 - 40
  • [34] Proving termination of GHC programs
    Krishna Rao M.R.K.
    Kapur D.
    Shyamasundar R.K.
    New Generation Computing, 1997, 15 (3) : 293 - 338
  • [35] Proving the equivalence of CLP programs
    Craciunescu, S
    LOGICS PROGRAMMING, PROCEEDINGS, 2002, 2401 : 287 - 301
  • [36] On Proving Continuity of Programs Response
    Chaudhuri, Swarat
    Gulwani, Sumit
    COMMUNICATIONS OF THE ACM, 2012, 55 (11) : 9 - 9
  • [37] Proving that Programs Are Differentially Private
    McIver, Annabelle
    Morgan, Carroll
    PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2019, 2019, 11893 : 3 - 18
  • [38] INTRODUCTION TO PROVING CORRECTNESS OF PROGRAMS
    HANTLER, SL
    KING, JC
    COMPUTING SURVEYS, 1976, 8 (03) : 331 - 353
  • [39] Proving termination of GHC programs
    Rao, MRKK
    Kapur, D
    Shyamasundar, RK
    NEW GENERATION COMPUTING, 1997, 15 (03) : 293 - 338
  • [40] Proving Liveness of Parameterized Programs
    Farzan, Azadeh
    Kincaid, Zachary
    Podelski, Andreas
    PROCEEDINGS OF THE 31ST ANNUAL ACM-IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS 2016), 2016, : 185 - 196