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 条
  • [21] Equivalence Checking of Dynamic Quantum Circuits
    Hong, Xin
    Feng, Yuan
    Li, Sanjiang
    Ying, Mingsheng
    [J]. 2022 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER AIDED DESIGN, ICCAD, 2022,
  • [22] Arithmetic Operand Ordering for Equivalence Checking
    Weng, Yanling
    Ge, Haitong
    Yan, Xiaolang
    Kun, Ren
    [J]. Tsinghua Science and Technology, 2007, 12 (SUPPL. 1): : 235 - 239
  • [23] Equivalence Checking For Synchronous Elastic Circuits
    Wijayasekara, Vidura
    Srinivasan, Sudarshan K.
    [J]. 2013 ELEVENTH ACM/IEEE INTERNATIONAL CONFERENCE ON FORMAL METHODS AND MODELS FOR CODESIGN (MEMOCODE 2013), 2013, : 109 - 118
  • [24] Static Equivalence Checking for OpenFlow Networks
    Lee, Hyuk
    Choi, Jin-Young
    [J]. ELECTRONICS, 2021, 10 (18)
  • [25] Equivalence Checking using Grobner Bases
    Sayed-Ahmed, Amr
    Grosse, Daniel
    Soeken, Mathias
    Drechsler, Rolf
    [J]. PROCEEDINGS OF THE 2016 16TH CONFERENCE ON FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD 2016), 2016, : 169 - 176
  • [26] Equivalence checking between behavioral and RTL descriptions with virtual controllers and datapaths
    Fujita, M
    [J]. ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2005, 10 (04) : 610 - 626
  • [27] A Framework for Automated Feature Based Mixed-Signal Equivalence Checking
    Ain, Antara
    Sanyal, Sayandeep
    Dasgupta, Pallab
    [J]. VLSI DESIGN AND TEST, 2017, 711 : 779 - 791
  • [28] Equivalence Checking of Static Affine Programs Using Widening to Handle Recurrences
    Verdoolaege, Sven
    Janssens, Gerda
    Bruynooghe, Maurice
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 34 (03):
  • [29] Combinational Equivalence Checking for Threshold Logic Circuits
    Gowda, Tejaswi
    Vrudhula, Sarma
    Konjevod, Goran
    [J]. GLSVLSI'07: PROCEEDINGS OF THE 2007 ACM GREAT LAKES SYMPOSIUM ON VLSI, 2007, : 102 - 107
  • [30] Approximate Equivalence Checking of Noisy Quantum Circuits
    Hong, Xin
    Ying, Mingsheng
    Feng, Yuan
    Zhou, Xiangzhen
    Li, Sanjiang
    [J]. 2021 58TH ACM/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2021, : 637 - 642