Detta papper presenterar en statisk race detektion analys för multitrådade Java program. Vår analys är baserad på ett formellt typsystem som kan fånga många vanliga synkroniseringsmönster. Dessa mönster inkluderar klasser med intern synkronisering, klasser som kräver klient-sida synkronisering, och tråd-lokala klasser. Erfarenhet av att kontrollera över 40 000 rader Java-kod med typsystemet visar att det är ett effektivt tillvägagångssätt för att eliminera rasförhållanden. På stora exempel, mindre än 20 ytterligare typ annoteringar per 1000 rader kod krävdes av typen kontrollerare, och vi hittade ett antal tävlingar i standard Java bibliotek och andra testprogram.
Ett steg mot behandling av realistiska språk gjordes i REF som beaktar JAVA-språket och stöder olika vanliga synkroniseringsmönster, klasser med intern synkronisering, klasser som kräver synkronisering på klientsidan och trådlokala klasser.
Type-based race detection for Java
{'venue': "PLDI '00", 'journal': None, 'mag_field_of_study': ['Computer Science']}