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 条
  • [31] Automated Verification of Signalling Principles in Railway Interlocking Systems
    Kanso, Karim
    Moller, Faron
    Setzer, Anton
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 250 (02) : 19 - 31
  • [32] Performance Evaluations of Cryptographic Protocols Verification Tools Dealing with Algebraic Properties
    Lafourcade, Pascal
    Puys, Maxime
    FOUNDATIONS AND PRACTICE OF SECURITY (FPS 2015), 2016, 9482 : 137 - 155
  • [33] Automated verification of model transformations based on visual contracts
    Esther Guerra
    Juan de Lara
    Manuel Wimmer
    Gerti Kappel
    Angelika Kusel
    Werner Retschitzegger
    Johannes Schönböck
    Wieland Schwinger
    Automated Software Engineering, 2013, 20 : 5 - 46
  • [34] Automated Verification of an In-Production DNS Authoritative Engine
    Zheng, Naiqian
    Liu, Mengqi
    Xiang, Yuxing
    Song, Linjian
    Li, Dong
    Han, Feng
    Wang, Nan
    Ma, Yong
    Liang, Zhuo
    Cai, Dennis
    Zhai, Ennan
    Liu, Xuanzhe
    Jin, Xin
    PROCEEDINGS OF THE TWENTY-NINTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, SOSP 2023, 2023, : 80 - 95
  • [35] Automated Encapsulation of UML Activities for Incremental Development and Verification
    Kraemer, Frank Alexander
    Herrmann, Peter
    MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2009, 5795 : 571 - 585
  • [36] Automated verification of model transformations based on visual contracts
    Guerra, Esther
    de Lara, Juan
    Wimmer, Manuel
    Kappel, Gerti
    Kusel, Angelika
    Retschitzegger, Werner
    Schoenboeck, Johannes
    Schwinger, Wieland
    AUTOMATED SOFTWARE ENGINEERING, 2013, 20 (01) : 5 - 46
  • [37] Automated Test Picker for Complex Microprocessor Verification Environment
    Mapara, Chetas
    Jose, Jerrin
    2019 20TH INTERNATIONAL WORKSHOP ON MICROPROCESSOR/SOC TEST, SECURITY AND VERIFICATION (MTV 2019), 2019, : 62 - 64
  • [38] Towards automated verification of Bitcoin-based decentralised applications
    Bistarelli, Stefano
    Bracciali, Andrea
    Klomp, Rick
    Mercanti, Ivan
    38TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2023, 2023, : 262 - 269
  • [39] Using Correctness, Consistency, and Completeness Patterns for Automated Scenarios Verification
    Sarmiento, Edgar
    Sampaio do Prado Leite, Julio Cesar
    Almentero, Eduardo
    2015 IEEE FIFTH INTERNATIONAL WORKSHOP ON REQUIREMENTS PATTERNS (REPA), 2015, : 47 - 54
  • [40] Concept for a Stepwise Approach for an Automated Verification Process of Balancing Services
    Pleier, Amanda
    Dossow, Patrick
    Hinterstocker, Michael
    Thalhofer, Philipp
    2023 6TH INTERNATIONAL CONFERENCE ON ELECTRICAL ENGINEERING AND GREEN ENERGY, CEEGE, 2023, : 246 - 252