WebAssembly är ett nytt lågnivåspråk som för närvarande implementeras i alla större webbläsare. Den är utformad för att bli den universella samlingsmålet för webben, obsolet befintliga lösningar inom detta område, såsom asm.js och Native Client. WebAssembly-arbetsgruppen har tagit med formella tekniker i utvecklingen av språket, men deras insatser hittills har varit inriktade på penna och papper formella specifikationer. Vi presenterar en mekaniserad Isabelle specifikation för WebAssembly-språket, tillsammans med en verifierad körbar tolk och typkontroll. Dessutom presenterar vi ett helt mekaniserat bevis på sundheten i WebAssembly-systemet, och detaljer om hur vårt arbete med detta bevis har avslöjat flera problem med den officiella WebAssembly specifikationen, vilket påverkar dess utveckling. Slutligen ger vi en kort redogörelse för våra ansträngningar att göra skillnad mellan våra tolkar och näringslivets genomföranden.
Watt beskriver den mekaniserade, formella verifieringen av WebAssembly specifikation REF.
Mechanising and verifying the WebAssembly specification
{'venue': 'CPP 2018', 'journal': None, 'mag_field_of_study': ['Computer Science']}