CompCert C-kompilatorn ger en formell garanti för att den sammanställda kodens observerbara beteende förbättrar källkodens observerbara beteende. I detta dokument presenterar vi en formellt verifierad C-kompilator, CompCertS, som i huvudsak är CompCert-kompilatorn, om än med en starkare formell garanti: den ger en semantik till fler program och säkerställer att minnesförbrukningen bevaras av kompilatorn. CompCertS bygger på en förbättrad minnesmodell där, till skillnad från CompCert men som Gcc, den binära representationen av pekare kan manipuleras ungefär som heltal och där, till skillnad från CompCert, allokering kan misslyckas om inget minne finns tillgängligt. Hela beviset på CompCertS är ett betydande bevisarbete och vi lyfter fram crux av de nya bevisen på 12 pass av back-end och ett utmanande bevis på ett väsentligt optimerande pass av front-end.
REF utökar semantiken och beviset på CompCert för att kontrollera att minneskonsumtionen bevaras.
CompCertS: A Memory-Aware Verified C Compiler Using Pointer as Integer Semantics
{'venue': 'ITP', 'journal': None, 'mag_field_of_study': ['Computer Science']}