UTC Time, Formally Verified

被引:1
|
作者
de Almeida Borges, Ana [1 ,2 ]
Gonzalez Bedmar, Mireia [1 ,2 ]
Conejero Rodriguez, Juan [1 ,2 ]
Hermo Reyes, Eduardo [1 ,2 ]
Casals Bunuel, Joaquim [1 ,2 ]
Joosten, Joost J. [1 ]
机构
[1] Univ Barcelona, Barcelona, Spain
[2] Formal Vindicat S L, Barcelona, Spain
关键词
Coq; MathComp; formal verification; automation; time; UTC; REFINEMENT; VERIFICATION; CALCULUS; PROOF;
D O I
10.1145/3636501.3636958
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
FV Time is a small-scale verification project developed in the Coq proof assistant using the Mathematical Components libraries. It is a library for managing conversions between time formats (UTC and timestamps), as well as commonly used functions for time arithmetic. As a library for time conversions, its novelty is the implementation of leap seconds, which are part of the UTC standard but usually not implemented in existing libraries. Since the verified functions of FV Time are reasonably simple yet non-trivial, it nicely illustrates our methodology for verifying software with Coq. In this paper we present a description of the project, emphasizing the main problems faced while developing the library, as well as some general-purpose solutions that were produced as by-products and may be used in other verification projects. These include a refinement package between proof-oriented MathComp numbers and computationoriented primitive numbers from the Coq standard library, as well as a set of tactics to automatically prove certain decidable statements over finite ranges through brute-force computation.
引用
收藏
页码:2 / 13
页数:12
相关论文
共 50 条
  • [1] A Formally Verified NAT
    Zaostrovnykh, Arseniy
    Pirelli, Solal
    Pedrosa, Luis
    Argyraki, Katerina
    Candea, George
    SIGCOMM '17: PROCEEDINGS OF THE 2017 CONFERENCE OF THE ACM SPECIAL INTEREST GROUP ON DATA COMMUNICATION, 2017, : 141 - 154
  • [2] Formally Verified Mathematics
    Avigad, Jeremy
    Harison, John
    COMMUNICATIONS OF THE ACM, 2014, 57 (04) : 66 - 75
  • [3] Pragmatics of formally verified yet efficient static analysis, in particular, for formally verified compilers
    Monniaux, David
    INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2024, 26 (04) : 463 - 477
  • [4] Formally Verified Montgomery Multiplication
    Walther, Christoph
    COMPUTER AIDED VERIFICATION, CAV 2018, PT II, 2018, 10982 : 505 - 522
  • [5] Formally Verified System Initialisation
    Boyton, Andrew
    Andronick, June
    Bannister, Callum
    Fernandez, Matthew
    Gao, Xin
    Greenaway, David
    Klein, Gerwin
    Lewis, Corey
    Sewell, Thomas
    FORMAL METHODS AND SOFTWARE ENGINEERING, 2013, 8144 : 70 - 85
  • [6] Formally verified redundancy removal
    Hendricx, S
    Claesen, L
    DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION 1999, PROCEEDINGS, 1999, : 150 - 155
  • [7] Formally Verified Superblock Scheduling
    Six, Cyril
    Gourdin, Leo
    Boulme, Sylvain
    Monniaux, David
    Fasse, Justus
    Nardino, Nicolas
    PROCEEDINGS OF THE 11TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS (CPP '22), 2022, : 40 - 54
  • [8] Plotting in a Formally Verified Way
    Melquiond, Guillaume
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2021, (338): : 39 - 45
  • [9] A formally verified sorting certifier
    Bright, JD
    Sullivan, GF
    Masson, GM
    IEEE TRANSACTIONS ON COMPUTERS, 1997, 46 (12) : 1304 - 1312
  • [10] Formally Verified Isolation of DMA
    Haglund, Jonas
    Guanciale, Roberto
    2022 FORMAL METHODS IN COMPUTER-AIDED DESIGN, FMCAD, 2022, 3 : 118 - 128