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
关键词
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] Semantic Equivalence Checking for HHVM Bytecode
    Benton, Nick
    PPDP'18: PROCEEDINGS OF THE 20TH INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, 2018,
  • [2] Program Equivalence Checking for the Facilitation of Quantum Offloading
    Speer, Jon
    Nurminen, Jukka K.
    2021 IEEE 11TH ANNUAL COMPUTING AND COMMUNICATION WORKSHOP AND CONFERENCE (CCWC), 2021, : 1464 - 1470
  • [3] Verification of source code transformations by program equivalence checking
    Shashidhar, KC
    Bruynooghe, M
    Catthoor, F
    Janssens, G
    COMPILER CONSTRUCTION, PROCEEDINGS, 2005, 3443 : 221 - 236
  • [4] PROGRAM EQUIVALENCE CHECKING BY TWO-TAPE AUTOMATA
    Zakharov, V. A.
    CYBERNETICS AND SYSTEMS ANALYSIS, 2010, 46 (04) : 554 - 562
  • [5] Program equivalence checking by two-tape automata
    V. A. Zakharov
    Cybernetics and Systems Analysis, 2010, 46 (4) : 554 - 562
  • [6] SEMANTIC EQUIVALENCE FOR PROGRAM SCHEMATA AND ITS SYNTACTIC EXPRESSION
    GUESSARIAN, I
    COMPTES RENDUS HEBDOMADAIRES DES SEANCES DE L ACADEMIE DES SCIENCES SERIE A, 1975, 280 (21): : 1451 - 1453
  • [7] Checking the alignment
    MacNeil, JS
    SCIENTIST, 2003, 17 (18): : 43 - 45
  • [8] Knowledge-informed semantic alignment and rule interpretation for automated compliance checking
    Zheng, Zhe
    Zhou, Yu-Cheng
    Lu, Xin-Zheng
    Lin, Jia-Rui
    AUTOMATION IN CONSTRUCTION, 2022, 142
  • [9] Automatically Checking Semantic Equivalence between Versions of Large-Scale C Projects
    Malik, Viktor
    Vojnar, Tomas
    2021 14TH IEEE CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST 2021), 2021, : 329 - 339
  • [10] Sequential equivalence checking
    Mathur, A
    Fujita, M
    Balakrishnan, M
    Mitra, R
    19TH INTERNATIONAL CONFERENCE ON VLSI DESIGN, PROCEEDINGS, 2005, : 18 - 19