scispace - formally typeset
Open AccessJournal ArticleDOI

Verification of Programs via Intermediate Interpretation

TLDR
De Angelis et al. as discussed by the authors showed that several safety properties of functional programs modeling a class of cache coherence protocols can be proved by a supercompiler and compare the results with their earlier work on direct verification via supercompilation not using intermediate interpretation.
Abstract
We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language. A specialization technique known as Turchin's supercompilation is used to specialize some interpreters with respect to the program models. We show that several safety properties of functional programs modeling a class of cache coherence protocols can be proved by a supercompiler and compare the results with our earlier work on direct verification via supercompilation not using intermediate interpretation. Our approach was in part inspired by an earlier work by E. De Angelis et al. (2014-2015) where verification via program transformation and intermediate interpretation was studied in the context of specialization of constraint logic programs.

read more

Citations
More filters
Posted Content

Solving Interactive Fiction Games via Partial Evaluation and Bounded Model Checking.

TL;DR: This is the first example of a commercially released game being solved by application of a program model-checker to the game’s code, and provides some insights that are applicable more generally to verification and analysis of programs that interpret scripting languages.
Posted Content

Controlling the Size of Supercompiled Programs using Multi-result Supercompilation.

TL;DR: This work considers an approach for controlling result size, based on a combination of multi-result supercompilation and a specific generalization strategy, which avoids code duplication.
Journal ArticleDOI

Optimizing Program Size Using Multi-result Supercompilation

TL;DR: This work considers an approach for controlling result size, based on a combination of multi-result supercompilation and a specific generalization strategy, which avoids code duplication.
Journal ArticleDOI

Optimizing Program Size Using Multi-result Supercompilation

TL;DR: In this article, the authors consider an approach for controlling result size, based on a combination of multi-result supercompilation and a specific generalization strategy, which avoids code duplication.
References
More filters
Journal ArticleDOI

Partial Evaluation of Computation Process—AnApproach to a Compiler-Compiler

TL;DR: A method to automatically generate an actual compiler from a formal description which is, in some sense, the partial evaluation of a computation process is described.
Journal ArticleDOI

The concept of a supercompiler

TL;DR: It is argued that the language Refal serves the needs of supercompilation best, and it is described and compared with the usual approach to program transformation as a stepwise application of a number of equivalence rules.
Proceedings ArticleDOI

On the verification of broadcast protocols

TL;DR: The model-checking problems for safety and liveness properties in parameterized broadcast protocols are analyzed and it is shown that the procedure suggested previously for safety properties may not terminate, whereas termination is guaranteed for the procedure based on upward closed sets.