Matches in SemOpenAlex for { <https://semopenalex.org/work/W4362661194> ?p ?o ?g. }
- W4362661194 endingPage "315" @default.
- W4362661194 startingPage "286" @default.
- W4362661194 abstract "The Rust programming language provides a powerful type system that checks linearity and borrowing, allowing code to safely manipulate memory without garbage collection and making Rust ideal for developing low-level, high-assurance systems. For such systems, formal verification can be useful to prove functional correctness properties beyond type safety. This paper presents Verus, an SMT-based tool for formally verifying Rust programs. With Verus, programmers express proofs and specifications using the Rust language, allowing proofs to take advantage of Rust's linear types and borrow checking. We show how this allows proofs to manipulate linearly typed permissions that let Rust code safely manipulate memory, pointers, and concurrent resources. Verus organizes proofs and specifications using a novel mode system that distinguishes specifications, which are not checked for linearity and borrowing, from executable code and proofs, which are checked for linearity and borrowing. We formalize Verus' linearity, borrowing, and modes in a small lambda calculus, for which we prove type safety and termination of specifications and proofs. We demonstrate Verus on a series of examples, including pointer-manipulating code (an xor-based doubly linked list), code with interior mutability, and concurrent code." @default.
- W4362661194 created "2023-04-07" @default.
- W4362661194 creator A5001691342 @default.
- W4362661194 creator A5013888261 @default.
- W4362661194 creator A5016958899 @default.
- W4362661194 creator A5022553295 @default.
- W4362661194 creator A5022943987 @default.
- W4362661194 creator A5023305744 @default.
- W4362661194 creator A5029057295 @default.
- W4362661194 creator A5041219275 @default.
- W4362661194 creator A5048461894 @default.
- W4362661194 date "2023-04-06" @default.
- W4362661194 modified "2023-09-27" @default.
- W4362661194 title "Verus: Verifying Rust Programs using Linear Ghost Types" @default.
- W4362661194 cites W1480909796 @default.
- W4362661194 cites W1529441891 @default.
- W4362661194 cites W1552077729 @default.
- W4362661194 cites W1565541828 @default.
- W4362661194 cites W1606177908 @default.
- W4362661194 cites W1773735832 @default.
- W4362661194 cites W2038677544 @default.
- W4362661194 cites W2066210260 @default.
- W4362661194 cites W2130427425 @default.
- W4362661194 cites W2132761501 @default.
- W4362661194 cites W2137628566 @default.
- W4362661194 cites W2158376721 @default.
- W4362661194 cites W2195119025 @default.
- W4362661194 cites W2267469130 @default.
- W4362661194 cites W2294722445 @default.
- W4362661194 cites W2779850521 @default.
- W4362661194 cites W2901454403 @default.
- W4362661194 cites W2913530642 @default.
- W4362661194 cites W2994905145 @default.
- W4362661194 cites W2996725384 @default.
- W4362661194 cites W3100536147 @default.
- W4362661194 cites W3136970019 @default.
- W4362661194 cites W3152550240 @default.
- W4362661194 cites W3194104197 @default.
- W4362661194 cites W4225147576 @default.
- W4362661194 cites W4241006348 @default.
- W4362661194 cites W4281773296 @default.
- W4362661194 cites W4283019774 @default.
- W4362661194 cites W4285303404 @default.
- W4362661194 cites W4305010641 @default.
- W4362661194 doi "https://doi.org/10.1145/3586037" @default.
- W4362661194 hasPublicationYear "2023" @default.
- W4362661194 type Work @default.
- W4362661194 citedByCount "1" @default.
- W4362661194 countsByYear W43626611942023 @default.
- W4362661194 crossrefType "journal-article" @default.
- W4362661194 hasAuthorship W4362661194A5001691342 @default.
- W4362661194 hasAuthorship W4362661194A5013888261 @default.
- W4362661194 hasAuthorship W4362661194A5016958899 @default.
- W4362661194 hasAuthorship W4362661194A5022553295 @default.
- W4362661194 hasAuthorship W4362661194A5022943987 @default.
- W4362661194 hasAuthorship W4362661194A5023305744 @default.
- W4362661194 hasAuthorship W4362661194A5029057295 @default.
- W4362661194 hasAuthorship W4362661194A5041219275 @default.
- W4362661194 hasAuthorship W4362661194A5048461894 @default.
- W4362661194 hasBestOaLocation W43626611941 @default.
- W4362661194 hasConcept C108710211 @default.
- W4362661194 hasConcept C119599485 @default.
- W4362661194 hasConcept C127413603 @default.
- W4362661194 hasConcept C150202949 @default.
- W4362661194 hasConcept C158100120 @default.
- W4362661194 hasConcept C160145156 @default.
- W4362661194 hasConcept C169590947 @default.
- W4362661194 hasConcept C177264268 @default.
- W4362661194 hasConcept C197781089 @default.
- W4362661194 hasConcept C199360897 @default.
- W4362661194 hasConcept C2524010 @default.
- W4362661194 hasConcept C2776760102 @default.
- W4362661194 hasConcept C28180684 @default.
- W4362661194 hasConcept C33923547 @default.
- W4362661194 hasConcept C39920170 @default.
- W4362661194 hasConcept C41008148 @default.
- W4362661194 hasConcept C55439883 @default.
- W4362661194 hasConcept C77170095 @default.
- W4362661194 hasConcept C9390403 @default.
- W4362661194 hasConceptScore W4362661194C108710211 @default.
- W4362661194 hasConceptScore W4362661194C119599485 @default.
- W4362661194 hasConceptScore W4362661194C127413603 @default.
- W4362661194 hasConceptScore W4362661194C150202949 @default.
- W4362661194 hasConceptScore W4362661194C158100120 @default.
- W4362661194 hasConceptScore W4362661194C160145156 @default.
- W4362661194 hasConceptScore W4362661194C169590947 @default.
- W4362661194 hasConceptScore W4362661194C177264268 @default.
- W4362661194 hasConceptScore W4362661194C197781089 @default.
- W4362661194 hasConceptScore W4362661194C199360897 @default.
- W4362661194 hasConceptScore W4362661194C2524010 @default.
- W4362661194 hasConceptScore W4362661194C2776760102 @default.
- W4362661194 hasConceptScore W4362661194C28180684 @default.
- W4362661194 hasConceptScore W4362661194C33923547 @default.
- W4362661194 hasConceptScore W4362661194C39920170 @default.
- W4362661194 hasConceptScore W4362661194C41008148 @default.
- W4362661194 hasConceptScore W4362661194C55439883 @default.
- W4362661194 hasConceptScore W4362661194C77170095 @default.
- W4362661194 hasConceptScore W4362661194C9390403 @default.