Abstrakt. Specifikationer som används i detaljerad design och i dokumentationen av befintlig kod skrivs och läses främst av programmerare. De flesta formella specifikationsspråk använder sig emellertid av symboliska matematiska aktörer, vilket avskräcker programmerare från att använda dem, eller begränsar påståendena till uttryck för det underliggande programmeringsspråket, vilket gör det svårt att skriva fullständiga specifikationer. Dessutom kan med hjälp av påståenden som är uttryck i det underliggande programmeringsspråket orsaka problem både i körtid påståendet kontroll och i formell kontroll, eftersom sådana uttryck kan innehålla biverkningar. Java Modeling Language, JML, undviker dessa problem. Den använder en bieffektfri delmängd av Java uttryck som läggs till några matematiska operatörer (såsom kvantifierarna \forall och \existerar). JML döljer också matematiska abstraktioner, såsom set och sekvenser, inom ett bibliotek av Java klasser. Målet är att tillåta JML att fungera som en gemensam notation för både formell verifiering och kontroll av påståenden om körtid; detta ger användarna fördelen av flera verktyg utan kostnaden för att ändra notationer.
Java Modelling Language (JML) är lämplig både för formell verifiering och runtime påstående kontroll REF.
How the design of JML accommodates both runtime assertion checking and formal verification
{'venue': 'Sci. Comput. Program.', 'journal': None, 'mag_field_of_study': ['Computer Science']}