Andrei V. Klimov
Keldysh Institute of Applied Mathematics
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Andrei V. Klimov.
WSA '93 Proceedings of the Third International Workshop on Static Analysis | 1993
Robert Glück; Andrei V. Klimov
We introduce the notion of a perfect process tree as a model for the full propagation of information in metacomputation. Starting with constant propagation we construct step-by-step the driving mechanism used in supercompilation which ensures the perfect propagation of information. The concept of a simple supercompiler based on perfect driving coupled with a simple folding strategy is explained. As an example we demonstrate that specializing a naive pattern matcher with respect to a fixed pattern obtains the efficiency of a matcher generated by the Knuth, Morris & Pratt algorithm.
international andrei ershov memorial conference on perspectives of system informatics | 2011
Andrei V. Klimov
We put the program transformation method known as supercompilation in the context of works on counter systems, well-structured transition systems, Petri nets, etc. Two classic versions of the supercompilation algorithm are formulated for counter systems, using notions and notation adopted from the literature on transition systems. A procedure to solve the coverability problem for a counter system by iterative application of a supercompiler to the system along with initial and target sets of states, is presented. Its correctness for monotonic counter systems provided the target set is upward-closed and the initial set has a certain form, is proved. The fact that a supercompiler can solve the coverability problem for a lot of practically interesting counter systems has been discovered by A. Nemytykh and A. Lisitsa when they performed experiments on verification of cache-coherence protocols and other models by means of the Refal supercompiler SCP4, and since then theoretical explanation why this was so successful has been an open problem. Here the solution for the monotonic counter systems is given.
international andrei ershov memorial conference on perspectives of system informatics | 2009
Andrei V. Klimov
The Java Supercompiler (JScp) is a specializer of Java programs based on the Turchins supercompilation method and extended to support imperative and object-oriented notions absent in functional languages. It has been successfully applied to verification of a number of parameterized models including cache-coherence protocols. Protocols are modeled in Java following the method by G. Delzanno and experiments by A. Lisitsa and A. Nemytykh on verification of protocol models by means of the Refal Supercompiler SCP4. The part of the supercompilation method relevant to the protocol verification is reviewed. It deals with an imperative subset of Java.
World Futures | 1995
Robert Glück; Andrei V. Klimov
We analyze metasystem transitions which may be observed, or are intentionally used, in computer science and mathematics. Various metasystem structures are present in their activities of executing, creating and manipulating formal linguistic models. The crucial role in automating the creation and manipulation of linguistic models is played by metacomputation, that is, computation over formal models. The manipulation of languages is one of the most essential problems of linguistic modeling. In this paper we analyze different schemes for transforming language definitions by metasystem transition and metacomputation, and present an example of ultra‐metasystem transition. We show that self‐application of metacomputation, a special case of metasystem transition, plays a central role in linguistic modeling. These techniques may also be utilized for reducing hierarchies of mathematical definitions and for manipulating mathematical texts effectively. Finally, we discuss a direct approach to theorem proving using a...
Information Processing Letters | 1997
Robert Glück; Andrei V. Klimov
A regeneration scheme is presented which shows how to change the computation staging of a generating extension by a two-level metasystem structure using program specialization and program composition. From the results described in this paper we can see that program generation and program degeneration are two extremes of the same transformation dimension; this relates several well-known program transformations under a general scheme.
Surface Science | 1996
Monica Galeotti; Brunetto Cortigiani; Marco Torrini; Ugo Bardi; B. V. Andryushechkin; Andrei V. Klimov; K. N. Eltsov
Abstract Chloride layers of thickness of several atomic layers were prepared by low temperature reaction of Cl 2 with a clean Cu(001) surface. The structure of the chloride layer was examined by X-ray photoelectron diffraction (XPD). The results of the comparison of experimental XPD data and calculations carried out using the single scattering cluster-spherical wave (SSC-SW) model show that the chloride grows as epitaxial fcc, zincblende CuCl, with the (111) plane parallel to the substrate surface. The results also indicate that the (111) “chlorine” termination is the actual termination of the chloride phase, out of the two possible terminations of the polar zincblende structure.
New Generation Computing | 1998
Robert Glück; Andrei V. Klimov
One of the main discoveries in the seventies was that the concept of a generating extension covers a very wide class of apparently different program generators. Program specialization, or partial evaluation, is powerful because it provides uniform techniques for the automatic implementation of generating extensions from ordinary programs. The Futamura projections stand as the cornerstone of the development of program specialization.This paper takes the idea of the Futamura projections further. Threedegeneration projections are formulated which tell us how to achieve the reverse goal by program composition, namely turning a generating extension into an ordinary program. The fact that program composition can invert the effect of program specialization shows that these projections are dual in a sense. The degeneration projections complete a missing link between programs and generating extensions and allow for novel applications of program transformation.
international andrei ershov memorial conference on perspectives of system informatics | 2003
Andrei M. Chepovsky; Andrei V. Klimov; Arkady V. Klimov; Yuri A. Klimov; Andrei S. Mishchenko; Sergei A. Romanenko; Sergei Yu. Skorobogatov
Partial Evaluation is a well-established method for specialization of programs in functional languages. However, real-world applications demand specialization of object-oriented languages. With the advent of the Microsoft .NET platform with Common Intermediate Language (CIL), to which multiple languages are compiled, various program analysis and transformation techniques, including partial evaluation, can be developed once for a low-level language rather than over and over again to various high-level languages. The CILPE Project aims at developing a practical specializer for CIL programs based on Partial Evaluation with preliminary analysis referred to as Binding Time Analysis (BTA). The CILPE Specializer partially evaluates operations on values and objects determined by BTA as static. Static objects are created, processed and destroyed at specialization time; they may be mutable and can have some fields unknown (dynamic). Arbitrary verifiable CIL code is allowed as input.
international andrei ershov memorial conference on perspectives of system informatics | 2006
Andrei V. Klimov
A specification of a class of specializers for a tiny functional language in form of natural semantics inference rules is presented. The specification defines a relation between source and residual programs with respect to an initial configuration (a set of input data). The specification expresses the idea of what is to be a specialized program, avoiding where possible the details of how a specializer builds it. In particular, it abstracts from the difference between on-line and off-line specialization. The class of specializers specified here is limited to monogenetic specializers, which includes specializers based upon partial evaluation as well as restricted supercompilation. The specification captures such supercompilation notions as configuration, driving, generalization of a configuration, and a simple case of splitting a configuration. The proposed specification is an intensional definition of equivalence between source and residual programs. It provides a shorter cut for proving the correctness and other properties of specializers than usual reduction to the extensional equivalence of programs does.
ACM Computing Surveys | 1998
Andrei V. Klimov
Permission to make digital/hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee.