Igor S. Anureev

Learn More
With the aim of the verification of programs in the C-light language [1], its kernel C-kernel is separated, and an axiomatic semantics for it is suggested. A theorem on soundness of the axiomatic semantics of C-kernel with respect to its operational semantics is proved. The C-light language is used as an input language of the program verification system,(More)
The C-light language is described, which is a representative subset of C. C-light permits deterministic expressions, limited use of switch and goto statements, and, instead of library functions for work with dynamic memory, includes C++ statements new and delete. A survey of structured operational semantics of the C-light language in Plotkin's style is(More)
Verification of imperative programs in the sense of Floyd-Hoare is an approach to proving correctness of programs annotated by preconditions, postconditions, and loop invariants. It is based on generation of correctness conditions. In the structured deterministic case, the problem of generation of correctness conditions seems trivial, since it is solved by(More)
Development of formal programming language specifications is an important problem of theoretical and practical programming. The paper presents operational ontological approach to formal specification of programming languages. It defines formalism for introduction of operational ontological semantics of programming languages: ontological transition systems,(More)
In this paper, a new kind of annotations called attribute annotations and the methodology for their application in deductive program verification are proposed. A collection of annotating attributes for the C-kernel subset of the C language is described, and, on their basis, two versions of axiomatic semantics of C-kernel—forward semantics and mixed forward(More)
There are two major formalisms that are developed around concepts. The first one is Formal Concept Analysis (FCA) by R. Wille and B. Ganter. Roughly speaking, FCA is an extension of algebraic Lattice Theory for knowledge representation. The second formalism, Description Logic (DL), goes back to the universal terminological logic by P.F. Patel-Schneider. It(More)
In the paper, a new three-level approach to the verification of sequential object-oriented programs is presented. It is applied to an expressive subset C#-light of the C# language, which includes all basic sequential constructs of the latter. At the first stage, the C#-light language is translated into the intermediate C#-kernel language. At the second(More)