L^ 3: a linear language with locations
We present a simple, but expressive type system that supports strong updates–updating a
memory cell to hold values of unrelated types at different points in time. Our formulation is …
memory cell to hold values of unrelated types at different points in time. Our formulation is …
A separation logic for heap space under garbage collection
We present SL♢, a Separation Logic that allows controlling the heap space consumption of
a program in the presence of dynamic memory allocation and garbage collection. A user of …
a program in the presence of dynamic memory allocation and garbage collection. A user of …
Memory usage verification for oo programs
We present a new type system for an object-oriented (OO) language that characterizes the
sizes of data structures and the amount of heap memory required to successfully execute …
sizes of data structures and the amount of heap memory required to successfully execute …
Another type system for in-place update
D Aspinall, M Hofmann - European Symposium on Programming, 2002 - Springer
Linear typing schemes guarantee single-threadedness and so the soundness of in-place
update with respect to a functional semantics. But linear schemes are restrictive in practice …
update with respect to a functional semantics. But linear schemes are restrictive in practice …
L3: A Linear Language with Locations
We explore foundational typing support for strong updates—updating a memory cell to hold
values of unrelated types at different points in time. We present a simple, but expressive type …
values of unrelated types at different points in time. We present a simple, but expressive type …
Mobile resource guarantees for smart devices
Abstract We present the Mobile Resource Guarantees framework: a system for ensuring that
downloaded programs are free from run-time violations of resource bounds. Certificates are …
downloaded programs are free from run-time violations of resource bounds. Certificates are …
A step-indexed model of substructural state
The concept of a" unique" object arises in many emerging programming languages such as
Clean, CQual, Cyclone, TAL, and Vault. In each of these systems, unique objects make it …
Clean, CQual, Cyclone, TAL, and Vault. In each of these systems, unique objects make it …
Verified sequential malloc/free
AW Appel, DA Naumann - Proceedings of the 2020 ACM SIGPLAN …, 2020 - dl.acm.org
We verify the functional correctness of an array-of-bins (segregated free-lists) single-thread
malloc/free system with respect to a correctness specification written in separation logic. The …
malloc/free system with respect to a correctness specification written in separation logic. The …
Certified memory usage analysis
D Cachera, T Jensen, D Pichardie… - FM 2005: Formal Methods …, 2005 - Springer
We present a certified algorithm for resource usage analysis, applicable to languages in the
style of Java byte code. The algorithm verifies that a program executes in bounded memory …
style of Java byte code. The algorithm verifies that a program executes in bounded memory …
Symbolic animation of JML specifications
This paper presents a model-based framework for the symbolic animation of object-oriented
specifications. A customized set-theoretic solver is used to simulate the execution of the …
specifications. A customized set-theoretic solver is used to simulate the execution of the …