Automated Verification of Fundamental Algebraic Laws

被引:4
|
作者
Zakhour, George [1 ]
Weisenburger, Pascal [1 ]
Salvaneschi, Guido [1 ]
机构
[1] Univ St Gallen, St Gallen, Switzerland
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2024年 / 8卷 / PLDI期
基金
芬兰科学院; 瑞士国家科学基金会;
关键词
Algebraic Properties; Type Systems; Verification; SPECIFICATIONS; PROOFS;
D O I
10.1145/3656408
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Algebraic laws of functions in mathematics - such as commutativity, associativity, and idempotence - are often used as the basis to derive more sophisticated properties of complex mathematical structures and are heavily used in abstract computational thinking. Algebraic laws of functions in coding, however, are rarely considered. Yet, they are essential. For example, commutativity and associativity are crucial to ensure correctness of a variety of software systems in numerous domains, such as compiler optimization, big data processing, data flow processing, machine learning or distributed algorithms and data structures. Still, most programming languages lack built-in mechanisms to enforce and verify that operations adhere to such properties. In this paper, we propose a verifier specialized on a set of fundamental algebraic laws that ensures that such laws hold in application code. The verifier can conjecture auxiliary properties and can reason about both equalities and inequalities of expressions, which is crucial to prove a given property when other competitors do not succeed. We implement these ideas in the Propel verifier. Our evaluation against five state-of-the-art verifiers on a total of 142 instances of algebraic properties shows that Propel is able to automatically deduce algebraic properties in different domains that rely on such properties for correctness, even in cases where competitors fail to verify the same properties or time out.
引用
收藏
页数:24
相关论文
共 50 条
  • [1] Automated Deduction for Verification
    Shankar, Natarajan
    ACM COMPUTING SURVEYS, 2009, 41 (04)
  • [2] Soundness in verification of algebraic specifications with OBJ
    Wilander, K. O.
    JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2008, 74 (02): : 112 - 114
  • [3] Developments in automated verification techniques
    Flanagan, Cormac
    Koenig, Barbara
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2014, 16 (02) : 123 - 125
  • [4] Developments in automated verification techniques
    Cormac Flanagan
    Barbara König
    International Journal on Software Tools for Technology Transfer, 2014, 16 : 123 - 125
  • [5] An Algebraic Approach to DC Railway Electrification Verification
    Eugenio Roanes-Lozano
    Rubén González-Martín
    Javier Montero
    Mathematics in Computer Science, 2019, 13 : 449 - 457
  • [6] An Algebraic Approach to DC Railway Electrification Verification
    Roanes-Lozano, Eugenio
    Gonzalez-Martin, Ruben
    Montero, Javier
    MATHEMATICS IN COMPUTER SCIENCE, 2019, 13 (03) : 449 - 457
  • [7] Automated Synthesis of Social Laws in STRIPS
    Nir, Ronen
    Shleyfman, Alexander
    Karpas, Erez
    THIRTY-FOURTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, THE THIRTY-SECOND INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE AND THE TENTH AAAI SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2020, 34 : 9941 - 9948
  • [8] AUTOMATED VERIFICATION OF PRACTICAL GARBAGE COLLECTORS
    Hawblitzel, Chris
    Petrank, Erez
    LOGICAL METHODS IN COMPUTER SCIENCE, 2010, 6 (03) : 1 - 41
  • [9] Automated Verification Of Cryptographic Protocol Implementations
    Babenko, Liudmila
    Pisarev, Ilya
    12TH INTERNATIONAL CONFERENCE ON THE DEVELOPMENTS IN ESYSTEMS ENGINEERING (DESE 2019), 2019, : 849 - 854
  • [10] Automated Verification of Practical Garbage Collectors
    Hawblitzel, Chris
    Petrank, Erez
    ACM SIGPLAN NOTICES, 2009, 44 (01) : 441 - 453