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 条
  • [21] Formally Verified Native Code Generation in an Effectful JIT: Turning the CompCert Backend into a Formally Verified JIT Compiler
    Barrière A.
    Blazy S.
    Pichardie D.
    Proceedings of the ACM on Programming Languages, 2023, 7
  • [22] TRX: A FORMALLY VERIFIED PARSER INTERPRETER
    Koprowski, Adam
    Binsztok, Henri
    LOGICAL METHODS IN COMPUTER SCIENCE, 2011, 7 (02)
  • [23] Formally Verified Software in the Real World
    Klein, Gerwin
    Andronick, June
    Fernandez, Matthew
    Kuz, Ihor
    Murray, Toby
    Heiser, Gernot
    COMMUNICATIONS OF THE ACM, 2018, 61 (10) : 68 - 77
  • [24] Formally verified on-line diagnosis
    Walter, CJ
    Lincoln, P
    Suri, N
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (11) : 684 - 721
  • [25] A Formally Verified Mechanism for Countering SPIT
    Soupionis, Yannis
    Basagiannis, Stylianos
    Katsaros, Panagiotis
    Gritzalis, Dimitris
    CRITICAL INFORMATION INFRASTRUCTURES SECURITY, (CRITIS 2010), 2010, 6712 : 128 - 139
  • [26] Formally verified asymptotic consensus in robust networks
    Tekriwal, Mohit
    Tachna-Fram, Avi
    Jeannin, Jean-Baptiste
    Kapritsos, Manos
    Panagou, Dimitra
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PT I, TACAS 2024, 2024, 14570 : 248 - 267
  • [27] A Formally Verified Compiler Back-end
    Xavier Leroy
    Journal of Automated Reasoning, 2009, 43 : 363 - 446
  • [28] Engineering a Formally Verified Automated Bug Finder
    Correnson, Arthur
    Steinhoefel, Dominic
    PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 1165 - 1176
  • [29] Code Optimizations Using Formally Verified Properties
    Shi, Yao
    Blackham, Bernard
    Heiser, Gernot
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 427 - 441
  • [30] Neurosymbolic Reinforcement Learning with Formally Verified Exploration
    Anderson, Greg
    Verma, Abhinav
    Dillig, Isil
    Chaudhuri, Swarat
    ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 33, NEURIPS 2020, 2020, 33