Leveraging Rust types for modular specification and verification
Rust's type system ensures memory safety: well-typed Rust programs are guaranteed to not
exhibit problems such as dangling pointers, data races, and unexpected side effects through …
exhibit problems such as dangling pointers, data races, and unexpected side effects through …
Deny capabilities for safe, fast actors
S Clebsch, S Drossopoulou, S Blessing… - Proceedings of the 5th …, 2015 - dl.acm.org
Combining the actor-model with shared memory for performance is efficient but can
introduce data-races. Existing approaches to static data-race freedom are based on …
introduce data-races. Existing approaches to static data-race freedom are based on …
First-class state change in plaid
J Sunshine, K Naden, S Stork, J Aldrich… - ACM SIGPLAN …, 2011 - dl.acm.org
Objects model the world, and state is fundamental to a faithful modeling. Engineers use state
machines to understand and reason about state transitions, but programming languages …
machines to understand and reason about state transitions, but programming languages …
Evidence-based programming language design: a philosophical and methodological exploration
AJ Kaijanaho - 2015 - jyx.jyu.fi
Background: Programming language design is not usually informed by empirical studies. In
other fields similar problems have inspired an evidence-based paradigm of practice. Such a …
other fields similar problems have inspired an evidence-based paradigm of practice. Such a …
Automatic parallelization: Executing sequential programs on a task-based parallel runtime
There are billions of lines of sequential code inside nowadays' software which do not benefit
from the parallelism available in modern multicore architectures. Automatically parallelizing …
from the parallelism available in modern multicore architectures. Automatically parallelizing …
Formally understanding Rust's ownership and borrowing system at the memory level
Rust is an emergent systems programming language highlighting memory safety through its
Ownership and Borrowing System (OBS). Formalizing OBS in semantics is essential in …
Ownership and Borrowing System (OBS). Formalizing OBS in semantics is essential in …
Leveraging Uniqueness for Modular Verification of Heap-Manipulating Programs
V Astrauskas - 2024 - research-collection.ethz.ch
With software's ever-increasing role in human lives, ensuring its correctness is crucial.
Deductive software verification enables formally proving that a program is functionally …
Deductive software verification enables formally proving that a program is functionally …
The chemical approach to typestate-oriented programming
S Crafa, L Padovani - ACM Transactions on Programming Languages …, 2017 - dl.acm.org
We introduce a novel approach to typestate-oriented programming based on the chemical
metaphor: state and operations on objects are molecules of messages, and state …
metaphor: state and operations on objects are molecules of messages, and state …
[PDF][PDF] Concise read-only specifications for better synthesis of programs with pointers
In program synthesis there is a well-known trade-off between concise and strong
specifications: if a specification is too verbose, it might be harder to write than the program; if …
specifications: if a specification is too verbose, it might be harder to write than the program; if …
A survey on the use of access permission-based specifications for program verification
Verifying the correctness and reliability of imperative and object-oriented programs is one of
the grand challenges in computer science. In imperative programming models …
the grand challenges in computer science. In imperative programming models …