VSL 2014: VIENNA SUMMER OF LOGIC 2014

Programming Language Aggregation with Applications in Equivalence Checking

Authors: Stefan Ciobaca, Dorel Lucanu, Vlad Rusu and Grigore Rosu

PapersPapers with AbstractsPrefaceAuthor IndexKeyword IndexAdditional files

Paper Information

Title:Programming Language Aggregation with Applications in Equivalence Checking
Authors:Stefan Ciobaca, Dorel Lucanu, Vlad Rusu and Grigore Rosu
Proceedings:PAS 2014 Proceedings
Editors: Dongming Wang, Tudor Jebelean and Wei Li
Keywords:equivalence, partial correctness, semantics, aggregation, matching logic, formal methods, verification
Abstract:

ABSTRACT. We show that, given the operational semantics of two programming languages L and R, it is possible to construct an aggregate language, in which programs consist of pairs of programs from L and respectively R. In the aggregate language, a program P = (PL, PR) takes a step from either PL or PR. The main difficulty is how to aggregate the two languages so that data such as integers or booleans that are common to both languages has the same representation in the aggregate language. The aggregation is based on the pushout theorem, which allows us to construct a model of the aggregate language from models of the initial languages, while making sure that the interpretation of common data such as integers is the same. The main application of the aggregation result is in equivalence checking. It is possible to check for example that two programs PL and PR (written in L and respectively R) compute the same result by checking the partial correctness of the pair (PL,PR) in the aggregate language.

Pages:4
Talk:Jul 18 17:30
Paper:
Disclaimer | Powered by EasyChair Smart Program