I detta dokument visar vi hur man kan bevisa riktigheten av system som genomförs med hjälp av lågnivå imperativ funktioner som pekare, filer, och uttag I/O med avseende på hög nivå I/O protokollbeskrivningar med hjälp av Coq proof assistent. Vi presenterar en webbaserad kursklassboksapplikation utvecklad med Ynot, ett Coq-bibliotek för verifierad nödvändig programmering. Vi lägger till ett dialogbaserat I/O-system till Ynot, och vi utökar Ynots underliggande Hoare-logik med händelsespår till att resonera om I/O och protokollbeteende. Uttryckliga abstraktioner möjliggör modulär verifiering av både högnivåspecifikationer som integritetsgarantier och låga nivå egenskaper som datastruktur pekare invarianter.
REF ) beskriver ett Coq-bibliotek för verifiering av programs I/O-beteende.
Trace-based Verification of Imperative Programs with I/O
{'venue': 'J. Symb. Comput.', 'journal': 'J. Symb. Comput.', 'mag_field_of_study': ['Mathematics', 'Computer Science']}