Abstrakt. Övergående fel är hårdvarufel som orsakas av höga energipartiklar från rymden, tillverkningsfel, överhettning och andra källor. Sådana fel kan vara förödande för säkerhets- och säkerhetskritiska system. För att mildra dessa problem kan programvaruutvecklare lägga redundans på olika sätt till sina programvarusystem. Men sådan redundans är svår att resonera om och hörnfall är lätta att missa, vilket gör dessa system sårbara. För att lösa detta problem har vi utvecklat en logik, baserad på Separation Logic, för att resonera om fel som resurser. Vi visar hur man använder denna logik som ett språk av påståenden och införliva den i en Hoare Logic för att verifiera tvingande program. Denna Hoare Logic är parameteriserad av en formell felmodell och det kan användas för att bevisa tvingande program korrekt med avseende på den modellen. Förutom att utveckla denna grundläggande verifieringsplattform har vi utformat en modal operatör som tar bort effekterna av enskilda fel, möjliggör modularisering av bevis och avsevärt förenklar resonemanget i fråga. Logiken bevisas vara sund och studeras genom ett antal exempel, inklusive en förenklad version av RSA Sign/Verifiera algoritm.
REF föreslår en substrukturell logik för resonemang om feltoleranta program.
Faulty Logic: Reasoning about Fault Tolerant Programs
{'venue': 'ESOP', 'journal': None, 'mag_field_of_study': ['Computer Science']}