DocumentCode
262009
Title
Reducing Partial Equivalence to Partial Correctness
Author
Ciobaca, Stefan
Author_Institution
Fac. of Comput. Sci., “Alexandru Ioan Cuza” Univ., Iasi, Romania
fYear
2014
fDate
22-25 Sept. 2014
Firstpage
164
Lastpage
171
Abstract
Two programs P and Q are partially equivalent if, when both terminate on the same input, they end up with equivalent outputs. Establishing partial equivalence is useful in, e.g., Compiler verification, when P is the source program and Q is the target program, or in compiler optimisation, when P is the initial program and Q is the optimised program. A program R is partially correct if, when it terminates, it ends up in a "good" state. We show that, somewhat surprisingly, the problem of establishing partial equivalence can be reduced to the problem of showing partial correctness in an aggregated language, where programs R consist of pairs of programs 〈P, Q〉. Our method is crucially based on the recently-introduced matching logic, which allows to faithfully define the operational semantics of any language. We show that we can construct the aggregated language mechanically, from the semantics of the initial languages. Furthermore, matching logic gives us for free a proof system for partial correctness for the resulting language. This proof system can then be used to prove partial equivalence.
Keywords
optimising compilers; program verification; programming language semantics; aggregated language; compiler optimisation; compiler verification; matching logic; operational language semantics; partial correctness; partial equivalence reduction; proof system; source program; target program; Cognition; Cost accounting; Optimization; Production; Program processors; Reactive power; Semantics; language semantics; partial correctness; program equivalence; relational logic;
fLanguage
English
Publisher
ieee
Conference_Titel
Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2014 16th International Symposium on
Conference_Location
Timisoara
Print_ISBN
978-1-4799-8447-3
Type
conf
DOI
10.1109/SYNASC.2014.30
Filename
7034680
Link To Document