Faulty Logic: Reasoning about Fault Tolerant Programs

被引:0
|
作者
Meola, Matthew L. [1 ]
Walker, David [1 ]
机构
[1] Princeton Univ, Dept Comp Sci, Princeton, NJ 08540 USA
关键词
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Transient faults are single-shot hardware errors caused by high energy particles from space, manufacturing defects, overheating, and other sources. Such faults can be devastating for security- and safety-critical systems. In order to mitigate these problems, software developers can add redundancy in various ways to their software systems. However, such redundancy is hard to reason about and corner cases are easy to miss, leaving these systems vulnerable. To solve this problem, we have developed a logic, based on Separation Logic, for reasoning about faults as resources. We show how to use this logic as a language of assertions and incorporate it into a Hoare Logic for verifying imperative programs. This Hoare Logic is parameterized by a formal fault model and it can be used to prove imperative programs correct with respect to that model. In addition to developing this basic verification platform, we have designed a modal operator that abstracts away the effects of individual faults, enabling modularization of proofs and greatly simplifying the reasoning involved. The logic is proved sound and studied through a number of examples, including a simplified version of the RSA Sign/Verify algorithm.
引用
收藏
页码:468 / 487
页数:20
相关论文
共 50 条
  • [1] Reasoning about faulty quantum programs
    Paolo Zuliani
    Acta Informatica, 2009, 46 : 403 - 432
  • [2] Reasoning about faulty quantum programs
    Zuliani, Paolo
    ACTA INFORMATICA, 2009, 46 (06) : 403 - 432
  • [3] It is declarative - On reasoning about logic programs
    Drabent, W
    LOGIC PROGRAMMING: PROCEEDINGS OF THE 1999 INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING, 1999, : 607 - 607
  • [4] A Framework for Reasoning about the Semantics of Logic Programs
    Bull Eur Assoc Theor Comput Sci, 59 (426):
  • [5] TUTORIAL NOTES - REASONING ABOUT LOGIC PROGRAMS
    BUNDY, A
    LECTURE NOTES IN ARTIFICIAL INTELLIGENCE, 1992, 636 : 252 - 277
  • [6] Reasoning about probabilistic sequential programs in a probabilistic logic
    Ying, MS
    ACTA INFORMATICA, 2003, 39 (05) : 315 - 389
  • [7] Reasoning about probabilistic sequential programs in a probabilistic logic
    M. Ying
    Acta Informatica, 2003, 39 : 315 - 389
  • [8] A Sequential Model for Reasoning about Bargaining in Logic Programs
    Chen, Wu
    Zhang, Dongmo
    Wu, Maonian
    LOGIC PROGRAMMING AND NONMONOTONIC REASONING (LPNMR 2013), 2013, 8148 : 239 - 244
  • [9] Quantitative Separation Logic A Logic for Reasoning about Probabilistic Pointer Programs
    Batz, Kevin
    Kaminski, Benjamin Lucien
    Katoen, Joost-Pieter
    Matheja, Christoph
    Noll, Thomas
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (POPL):
  • [10] REASONING ABOUT UNCERTAINTY IN FAULT-TOLERANT DISTRIBUTED SYSTEMS
    FISCHER, MJ
    ZUCK, LD
    LECTURE NOTES IN COMPUTER SCIENCE, 1988, 331 : 142 - 158