Semantic Program Alignment for Equivalence Checking

被引:52
|
作者
Churchill, Berkeley [1 ]
Padon, Oded [1 ]
Sharma, Rahul [2 ]
Aiken, Alex [1 ]
机构
[1] Stanford Univ, Stanford, CA 94305 USA
[2] Microsoft Res, Bengaluru, India
来源
PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19) | 2019年
关键词
verification; equivalence checking;
D O I
10.1145/3314221.3314596
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:1027 / 1040
页数:14
相关论文
共 50 条
  • [1] Client -Specific Equivalence Checking
    Mora, Federico
    Li, Yi
    Rubin, Julia
    Chechik, Marsha
    PROCEEDINGS OF THE 2018 33RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMTED SOFTWARE ENGINEERING (ASE' 18), 2018, : 441 - 451
  • [2] Partial Equivalence Checking of Quantum Circuits
    Chen, Tian-Fu
    Jiang, Jie-Hong R.
    Hsieh, Min-Hsiu
    2022 IEEE INTERNATIONAL CONFERENCE ON QUANTUM COMPUTING AND ENGINEERING (QCE 2022), 2022, : 594 - 604
  • [3] Equivalence Checking of Sequential Quantum Circuits
    Wang, Qisheng
    Li, Riling
    Ying, Mingsheng
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2022, 41 (09) : 3143 - 3156
  • [4] The Power of Simulation for Equivalence Checking in Quantum Computing
    Burgholzer, Lukas
    Wille, Robert
    PROCEEDINGS OF THE 2020 57TH ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2020,
  • [5] Automated equivalence checking of switch level circuits
    Jolly, S
    Parashkevov, A
    McDougall, T
    39TH DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2002, 2002, : 299 - 304
  • [6] Equivalence Checking for Intelligent Circuits
    Fan, De-Hui
    Ma, Guang-Sheng
    2008 INTERNATIONAL SYMPOSIUM ON INTELLIGENT INFORMATION TECHNOLOGY APPLICATION WORKSHOP: IITA 2008 WORKSHOPS, PROCEEDINGS, 2008, : 785 - 787
  • [7] On checking equivalence of simulation scripts
    Mancini, Toni
    Mari, Federico
    Massini, Annalisa
    Melatti, Igor
    Tronci, Enrico
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2021, 120
  • [8] Equivalence Checking of Reversible Circuits
    Wille, Robert
    Grosse, Daniel
    Miller, D. Michael
    Drechsler, Rolf
    JOURNAL OF MULTIPLE-VALUED LOGIC AND SOFT COMPUTING, 2012, 19 (04) : 361 - 378
  • [9] ARDIFF: Scaling Program Equivalence Checking via Iterative Abstraction and Refinement of Common Code
    Badihi, Sahar
    Akinotcho, Faridah
    Li, Yi
    Rubin, Julia
    PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 13 - 24
  • [10] Parallel Combinational Equivalence Checking
    Possani, Vinicius N.
    Mishchenko, Alan
    Ribas, Renato P.
    Reis, Andre I.
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2020, 39 (10) : 3081 - 3092