Verification of Programs via Intermediate Interpretation

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 safe...

Full description

Bibliographic Details
Main Authors: Alexei P. Lisitsa, Andrei P. Nemytykh
Format: Article
Language:English
Published: Open Publishing Association 2017-08-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1708.09002v1
_version_ 1811305509023645696
author Alexei P. Lisitsa
Andrei P. Nemytykh
author_facet Alexei P. Lisitsa
Andrei P. Nemytykh
author_sort Alexei P. Lisitsa
collection DOAJ
description 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.
first_indexed 2024-04-13T08:26:34Z
format Article
id doaj.art-302946474be24426b712c5c14132233c
institution Directory Open Access Journal
issn 2075-2180
language English
last_indexed 2024-04-13T08:26:34Z
publishDate 2017-08-01
publisher Open Publishing Association
record_format Article
series Electronic Proceedings in Theoretical Computer Science
spelling doaj.art-302946474be24426b712c5c14132233c2022-12-22T02:54:24ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802017-08-01253Proc. VPT 2017547410.4204/EPTCS.253.6:2Verification of Programs via Intermediate InterpretationAlexei P. Lisitsa0Andrei P. Nemytykh1 Department of Computer Science, The University of Liverpool Program Systems Institute, Russian Academy of Sciences 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.http://arxiv.org/pdf/1708.09002v1
spellingShingle Alexei P. Lisitsa
Andrei P. Nemytykh
Verification of Programs via Intermediate Interpretation
Electronic Proceedings in Theoretical Computer Science
title Verification of Programs via Intermediate Interpretation
title_full Verification of Programs via Intermediate Interpretation
title_fullStr Verification of Programs via Intermediate Interpretation
title_full_unstemmed Verification of Programs via Intermediate Interpretation
title_short Verification of Programs via Intermediate Interpretation
title_sort verification of programs via intermediate interpretation
url http://arxiv.org/pdf/1708.09002v1
work_keys_str_mv AT alexeiplisitsa verificationofprogramsviaintermediateinterpretation
AT andreipnemytykh verificationofprogramsviaintermediateinterpretation