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
来源
PROCEEDINGS OF THE 13TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS, CPP 2024 | 2024年
关键词
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
相关论文
共 55 条
  • [1] Android, 2022, Date Class. Android Reference Manual
  • [2] [Anonymous], 2008, NOT AMS
  • [3] [Anonymous], 2022, Unsmear
  • [4] [Anonymous], 2018, The Open Group Base Specifications, V2018
  • [5] Coq's Vibrant Ecosystem for Verification Engineering (Invited Talk)
    Appel, Andrew W.
    [J]. PROCEEDINGS OF THE 11TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS (CPP '22), 2022, : 2 - 11
  • [6] Verification of a Cryptographic Primitive: SHA-256
    Appel, Andrew W.
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2015, 37 (02):
  • [7] Appel AW, 2011, LECT NOTES COMPUT SC, V6602, P1, DOI 10.1007/978-3-642-19718-5_1
  • [8] ON CORRECT REFINEMENT OF PROGRAMS
    BACK, RJR
    [J]. JOURNAL OF COMPUTER AND SYSTEM SCIENCES, 1981, 23 (01) : 49 - 68
  • [9] Bedmar Mireia Gonzalez, 2022, A method for clean extraction: example
  • [10] Besson F, 2007, LECT NOTES COMPUT SC, V4502, P48