Computer Science Journal of Moldova (Dec 2016)

Proving Properties of Programs on Hierarchical Nominative Data

  • Ievgen Ivanov,
  • Mykola Nikitchenko,
  • Volodymyr G. Skobelev

Journal volume & issue
Vol. 24, no. 3(72)
pp. 371 – 398

Abstract

Read online

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.

Keywords