Detta dokument introducerar Checker Framework, som stöder att lägga till pluggbara typsystem till Java-språket på ett bakåtkompatibelt sätt. En typ systemdesigner definierar typkvalificerare och deras semantik, och en kompilator plug-in driver semantiken. Programmerare kan skriva typkvalificerare i sina program och använda plug-in för att upptäcka eller förhindra fel. Checker Framework är användbart både för programmerare som vill skriva felfri kod, och för att skriva systemdesigners som vill utvärdera och distribuera sina typsystem. Checker Framework innehåller nya Java-syntax för att uttrycka typkvalifikationer; deklarativa och procedurmässiga mekanismer för att skriva typkontrollregler; och stöd för flödeskänslig lokal typkvalificeringsinferens och för polymorfism över typer och kvalificerare. Checker Framework är väl integrerad med Java-språket och verktygsuppsättningen. Vi har utvärderat Checker Framework genom att skriva 5 kontroller och köra dem på över 600K rader av befintlig kod. Kontrollerna hittade verkliga fel och bekräftade sedan frånvaron av ytterligare fel i den fasta koden. Fallstudierna belyser också själva typsystemen.
Checker-ramverket REF stöder flödeskänsliga typer av kvalificerare i Java och har använts för att implementera exempelvis icke-null-typer och oföränderliga typer.
Practical pluggable types for java
{'venue': "ISSTA '08", 'journal': None, 'mag_field_of_study': ['Computer Science']}