Abstrakt. Sopsamlare är notoriskt svåra att verifiera, på grund av deras låga nivå interaktion med det underliggande systemet och den allmänna svårigheten att resonera om nåbarhet i grafer. Flera papper har uppvisat verifierade samlare, men antingen var bevisen handskrivna eller samlarna alltför enkla att använda i praktiska tillämpningar. I detta arbete presenterar vi två mekaniskt verifierade sopsamlare, båda praktiska nog att använda för verkliga C# riktmärken. Insamlarna och deras tillhörande allokatorer består av instruktioner för x86 monteringsspråk och makroinstruktioner, kommenterade med förutsättningar, postvillkor, invarianter och påståenden. Vi använde Boogie verifiering generator och Z3 automatiserade teorem bevis för att verifiera denna montering språkkod mekaniskt. Vi tillhandahåller mätningar som jämför prestandan hos den verifierade samlaren med prestandan hos standard- Bartok-samlarna på off-the-shelf C#-riktmärken, vilket visar deras konkurrenskraft.
Hawblitzel och Petrank REF visar att performant verifierad x86-kod för enkla mark-and-sweep och Cheney kopiering samlare kan utvecklas med hjälp av Boogie verifiering villkor generator och Z3 automatiserade Theorem bevis.
Automated Verification of Practical Garbage Collectors
{'venue': 'LMCS 6 (3:6) 2010', 'journal': None, 'mag_field_of_study': ['Computer Science']}