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.
REF annoterad x86 kod för två GC för hand, och sedan använde Boogie och Z3 automatiserade teorem bevis för att verifiera deras korrekthet automatiskt.
Automated Verification of Practical Garbage Collectors
{'venue': 'LMCS 6 (3:6) 2010', 'journal': None, 'mag_field_of_study': ['Computer Science']}