Semantic Program Alignment for Equivalence Checking

被引:62
作者
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
相关论文
共 40 条
[1]   PolyCheck: Dynamic Verification of Iteration Space Transformations on Affine Programs [J].
Bao, Wenlei ;
Krishnamoorthy, Sriram ;
Pouchet, Louis-Noel ;
Sadayappan, P. .
ACM SIGPLAN NOTICES, 2016, 51 (01) :539-554
[2]  
Barrett Clark, 2011, Computer Aided Verification. Proceedings 23rd International Conference, CAV 2011, P171, DOI 10.1007/978-3-642-22110-1_14
[3]   From Relational Verification to SIMD Loop Synthesis [J].
Barthe, Gilles ;
Crespo, Juan Manuel ;
Gulwani, Sumit ;
Kunz, Cesar ;
Marron, Mark .
ACM SIGPLAN NOTICES, 2013, 48 (08) :123-133
[4]   Simple relational correctness proofs for static analyses and program transformations [J].
Benton, N .
ACM SIGPLAN NOTICES, 2004, 39 (01) :14-25
[5]  
Churchill B., 2017, ARCHITECTURAL SUPPOR, P313
[6]   Black-Box Equivalence Checking Across Compiler Optimizations [J].
Dahiya, Manjeet ;
Bansal, Sorav .
PROGRAMMING LANGUAGES AND SYSTEMS (APLAS 2017), 2017, 10695 :127-147
[7]  
Dahiya Manjeet, 2017, HAIF VER C HVC 17
[8]   Relational Verification Through Horn Clause Transformation [J].
De Angelis, Emanuele ;
Fioravanti, Fabio ;
Pettorossi, Alberto ;
Proietti, Maurizio .
STATIC ANALYSIS, (SAS 2016), 2016, 9837 :147-169
[9]  
De Angelis Emanuele, 2017, LOGIC BASED PROGRAM
[10]  
DEMOURA L, 2008, Z3 EFFICIENT SMT SOL, P337, DOI DOI 10.1007/978-3-540-78800-3-24