• 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