Abstrakt. Rust är ett systemprogrammeringsspråk som är utformat för att ge bättre minnessäkerhet samtidigt som prestandan upprätthålls. Formalisering Rust är ett nödvändigt sätt att bevisa sin minnessäkerhet och konstruera formella analysverktyg för Rust. I den här artikeln introducerar vi en exekverbar formell semantik av Rust med K-ramverk (K), kallad K-Rust. K-Rust innehåller två delar: (1) den formella modellen för ägarsystemet, som är en av Rust mest övertygande funktioner för att förverkliga sin minnessäkerhet och noll-kust abstraktion; (2) den formella operativa semantik av Rust baserat på ett kärnspråk. De formella modellerna testas mot olika program och jämförs med Rusts kompilator för att säkerställa semantikens överensstämmelse mellan K-Rust och kompilatorn. Genom konstruktionen av K-Rust upptäckte vi inkonsekvenser i ägarmekanismen mellan Rust-kompilatorn och specifikationen i Rust-programmeringsspråket.
Självständigt, Kan et al. föreslog en exekverbar formell semantik av Rust i K ramverket REF.
K-Rust: An Executable Formal Semantics for Rust
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Computer Science']}