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 条
  • [41] Analysing logic programs by reasoning backwards
    Howe, JM
    King, A
    Lu, LJ
    PROGRAM DEVELOPMENT IN COMPUTATIONAL LOGIC: A DECADE OF RESEARCH ADVANCES IN LOGIC-BASED PROGRAM DEVELOPMENT, 2004, 3049 : 152 - 188
  • [42] Statistical Reasoning About Programs
    Boehme, Marcel
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING RESULTS (ICSE-NIER 2022), 2022, : 76 - 80
  • [43] REASONING ABOUT PROGRAMS WITH EFFECTS
    MASON, I
    TALCOTT, C
    LECTURE NOTES IN COMPUTER SCIENCE, 1990, 456 : 189 - 203
  • [44] Reasoning About Choreographic Programs
    Cruz-Filipe, Luis
    Graversen, Eva
    Montesi, Fabrizio
    Peressotti, Marco
    COORDINATION MODELS AND LANGUAGES, COORDINATION 2023, 2023, 13908 : 144 - 162
  • [45] Hybrid Reasoning with Forest Logic Programs
    Feier, Cristina
    Heymans, Stijn
    SEMANTIC WEB: RESEARCH AND APPLICATIONS, 2009, 5554 : 338 - 352
  • [46] Ask the Mutants: Mutating Faulty Programs for Fault Localization
    Moon, Seokhyeon
    Kim, Yunho
    Kim, Moonzoo
    Yoo, Shin
    2014 IEEE SEVENTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2014, : 153 - 162
  • [47] Error-tolerant reasoning in the description logic Ε
    Ludwig, Michel
    Peñaloza, Rafael
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2014, 8761 : 107 - 121
  • [48] Reasoning about data-parallel pointer programs in a modal extension of separation logic
    Nishimura, Susumu
    ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, PROCEEDINGS, 2006, 4019 : 293 - 307
  • [49] Matching explicit and modal reasoning about programs: a proof theoretic delineation of dynamic logic
    Leivant, Daniel
    21ST ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 2006, : 157 - 166
  • [50] A Program Logic for Reasoning About C11 Programs With Release-Sequences
    He, Mengda
    Qin, Shengchao
    Xu, Zhiwu
    IEEE ACCESS, 2020, 8 (08): : 173874 - 173903