Abstrakt. Vi formaliserar data race fri (DRF) garanti som tillhandahålls av Java, som fångas av den semi-formella Java Memory Model (JMM) [1] och publiceras i Java Language Specification [2]. DRF-garantin säger att alla program som är korrekt synkroniserade (dvs. fria från dataraser) endast kan ha konsekventa beteenden i följd. Sådana program kan förstås intuitivt av programmerare. Formaliseringen har uppnått tre mål. För det första gjorde vi definitioner och bevis exakta, vilket ledde till en bättre förståelse; vår analys fann flera dolda inkonsekvenser och saknade detaljer. För det andra låter formaliseringen oss undersöka variationer och undersöka deras inverkan i bevisen i syfte att förenkla modellen. Vi fann att inte alla de förväntade villkoren i JMM-definitionen faktiskt var nödvändiga för DRF-garantin. Detta gör att vi kan föreslå en snabb fix till en nyligen upptäckt allvarlig bugg [3] utan att ogiltigförklara DRF-garantin. Slutligen ger den formella definitionen en grund för att testa konkreta exempel, och öppnar vägen för framtida arbete med JMM-medvetna logiker för samtidiga program.
Aspinall ochŠevčík REF har formaliserat delar av den JMM som är relevant för DRF-garantin och bevisat den senare i Isabelle/HOL - vilket vi har funnit vara till stor hjälp när det gäller att utöka DRF-garantins bevis.
Formalising java’s data race free guarantee
{'venue': 'In 20th International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2007', 'journal': None, 'mag_field_of_study': ['Computer Science']}