Semantic program alignment for equivalence checking

Berkeley Churchill, Oded Padon, Rahul Sharma, Alex Aiken

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

We introduce a robust semantics-driven technique for program equivalence checking. Given two functions we find a trace alignment over a set of concrete executions of both programs and construct a product program particularly amenable to checking equivalence. We demonstrate that our algorithm is applicable to challenging equivalence problems beyond the scope of existing techniques. For example, we verify the correctness of the hand-optimized vector implementation of strlen that ships as part of the GNU C Library, as well as the correctness of vectorization optimizations for 56 benchmarks derived from the Test Suite for Vectorizing Compilers.

Original languageEnglish
Title of host publicationPLDI 2019 - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation
EditorsKathryn S. McKinley, Kathleen Fisher
PublisherAssociation for Computing Machinery
Pages1027-1040
Number of pages14
ISBN (Electronic)9781450367127
DOIs
StatePublished - 8 Jun 2019
Externally publishedYes
Event40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019 - Phoenix, United States
Duration: 22 Jun 201926 Jun 2019

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

Conference40th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2019
Country/TerritoryUnited States
CityPhoenix
Period22/06/1926/06/19

Keywords

  • Equivalence checking
  • Verification

Fingerprint

Dive into the research topics of 'Semantic program alignment for equivalence checking'. Together they form a unique fingerprint.

Cite this