Abstract. Embedded information assurance applications that are critical to national and international infrastructures, must often adhere to certification regimes that require infor...
The combination of message passing and locking to protect shared state is a useful concurrency pattern. However, programs that employ this pattern are susceptible to deadlock. That...
Proving software free of security bugs is hard. Languages that ensure that programs correctly enforce their security policies would help, but, to date, no security-typed language h...
Abstract. We present a framework that automatically produces suggestions to resolve type errors in security-typed programs, enabling legacy code to be retrofit with comprehensive s...
Dave King 0002, Divya Muthukumaran, Sanjit A. Sesh...
Detailed memory models that expose individual fields are necessary to precisely analyze code that makes use of low-level aspects such as, pointers to fields and untagged unions. Ye...
Vincent Laviron, Bor-Yuh Evan Chang and Xavier Riv...
Type-based amortised resource analysis following Hofmann and Jost--where resources are associated with individual elements of data structures and doled out to the programmer under ...
Affine type systems manage resources by preventing some values from being used more than once. This offers expressiveness and performance benefits, but difficulty arises in intera...
The specification of the Java Memory Model (JMM) is phrased in terms of acceptors of execution sequences rather than the standard generative view of operational semantics. This cre...
Formal reasoning about concurrent programs is usually done with the assumption that the underlying memory model is sequentially consistent, i.e. the execution outcome is equivalen...