Abstrakt. Vi presenterar en programlogik för resonemang om resursförbrukning av program skrivna i Grail, ett abstrakt fragment av Java Virtual Machine Language. Som mållogik för en certifierande kompilator utnyttjar logiken Graals dubbla karaktär av att kombinera en funktionell tolkning med objektorienterade funktioner och en kostnadsmodell för JVM. Vi presenterar resursmedvetna operativa semantik av Graal, programmets logik, och bevisa sundhet och fullständighet. Allt arbete som beskrivits har formaliserats i Theoremprover Isabelle/HOL, vilket ger oss ett genomförande av logiken och förtroendet för resultaten. Vi avslutar med exempel på att använda logiken för att bevisa resursgränser på kod som är resultatet av att sammanställa funktionella program på hög nivå.
MRG-projektet utvecklade en programlogik för verifiering av funktionella egenskaper och resursegenskaper hos en specialiserad form av Java bytecode (kallas Grail) REF.
A Program Logic for Resource Verification
{'venue': 'TPHOLs', 'journal': None, 'mag_field_of_study': ['Computer Science']}