Abstrakt. Dynamiskt maskinskrivna objektorienterade språk gör det möjligt för programmerare att skriva eleganta, återanvändbara och extensible program. Med den nuvarande metoden för programverifiering skapar dock avsaknaden av statisk typinformation betydande omkostnader. Vårt förslag är tvåfaldigt: För det första föreslår vi en abstraktion som döljer komplexiteten i dynamisk maskinskrivning när den förses med tillräcklig typinformation. Eftersom detta i huvudsak skapar illusionen att verifiera ett statiskt-typat program, är den ansträngning som krävs likvärdig med det statiskt-typade fallet. För det andra visar vi hur den begärda typinformationen effektivt kan härledas för alla typsäkra program genom att integrera en type inference algoritm i Hoare logik, vilket ger en semi-automatisk procedur så att användaren kan fokusera på de skrivproblem som verkligen kräver hans uppmärksamhet. Samtidigt som det är en väletablerad metod att tillämpa typinferens på dynamiskt maskinskrivna program, kompletterar vårt tillvägagångssätt konventionella mjuka maskinskrivningssystem genom att erbjuda formella bevis som ett tredje alternativ förutom att ändra programmet (statisk maskinskrivning) och acceptera förekomsten av körtidsfel (dynamisk maskinskrivning).
Dessutom utvecklade författarna i tidigare arbete REF en teknik för att minska arbetet med att verifiera ett dynamiskt typat program till nivån för att verifiera en likvärdig statiskt typad program.
Closing the Gap -- Formally Verifying Dynamically Typed Programs like Statically Typed Ones Using Hoare Logic -- Extended Version --
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}