Differential Testing of a Verification Framework for Compiler Optimizations (Case Study)

被引:0
作者
Utting, Mark [1 ]
Webb, Brae J. [1 ]
Hayes, Ian J. [1 ]
机构
[1] Univ Queensland, Sch ITEE, Brisbane, Qld, Australia
来源
2023 IEEE/ACM 11TH INTERNATIONAL CONFERENCE ON FORMAL METHODS IN SOFTWARE ENGINEERING, FORMALISE | 2023年
关键词
differential testing; validating specifications; compiler optimizations; GraalVM compiler; Isabelle/HOL;
D O I
10.1109/FormaliSE58978.2023.00015
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We want to verify the correctness of optimization phases in the GraalVM compiler, which consist of many thousands of lines of complex Java code performing sophisticated graph transformations. We have built high-level models of the data structures and operations of the code using the Isabelle/HOL theorem prover, and can formally verify the correctness of those high-level operations. But the remaining challenge is: how can we be sure that those high-level operations accurately reflect what the Java code is doing? This paper addresses that issue by applying several different kinds of differential testing to validate that the formal model and the Java code have the same semantics. The lessons learned from applying these validation techniques should be applicable to other projects that are building formal models of real-world code.
引用
收藏
页码:66 / 75
页数:10
相关论文
共 16 条
  • [1] Chen J., 2022, ACM T SOFTW ENG METH, V31
  • [2] Chen YT, 2016, ACM SIGPLAN NOTICES, V51, P85, DOI [10.1145/2908080.2908095, 10.1145/2980983.2908095]
  • [3] COMBINING ANALYSES, COMBINING OPTIMIZATIONS
    CLICK, C
    COOPER, KD
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1995, 17 (02): : 181 - 196
  • [4] CLICK C, 1995, SIGPLAN NOTICES, V30, P246, DOI 10.1145/223428.207154
  • [5] Cuoq Pascal, 2012, NASA Formal Methods. Proceedings of the 4th International Symposium, NFM 2012, P120, DOI 10.1007/978-3-642-28891-3_12
  • [6] Semantic Reasoning about the Sea of Nodes
    Demange, Delphine
    de Retana, Yon Fernandez
    Pichardie, David
    [J]. CC'18: PROCEEDINGS OF THE 27TH INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, 2018, : 163 - 173
  • [7] Duboscq Gilles, 2013, P 7 ACM WORKSH VIRT, P1, DOI [10.1145/2542142.2542143, DOI 10.1145/2542142.2542143]
  • [8] Gosling James, 2021, The java language specification: Java se, V17
  • [9] Conformance Testing of Formal Semantics Using Grammar-Based Fuzzing
    Marmsoler, Diego
    Brucker, Achim D.
    [J]. TESTS AND PROOFS (TAP 2022), 2022, 13361 : 106 - 125
  • [10] McKeeman W.M., 1998, Digital Technical Journal of Digital Equipment Corporation, V10, P100