Safe is a first-order eager functional language with facilities for programmer controlled destruction and copying of data structures. It provides also regions, i.e. disjoint parts of the heap, where the program allocates data structures. A region is a collection of cells, each one is big enough to allocate a data constructor. The runtime system does not need a garbage collector and all allocation/deallocation actions are done in constant time. Deallocating cells or regions may create dangling pointers. The language is aimed at inferring and certifying memory safety properties in a Proof Carrying Code environment. Some of its analyses have been presented elsewhere. The one relevant to this paper is a type system and a type inference algorith...
Abstract. Proof-Carrying Code brings two big challenges to the re-search field of programming langua...
Region-based memory management is an alternative to standard tracing garbage collection that makes o...
We define a new decidable logic for expressing and checking invariants of programs that manipulate d...
Abstract. Safe is a first-order eager functional language with facilities for programmer controlled ...
We present a destruction-aware type system for the functional lan-guage Safe, which is a first-order...
AbstractStructured types, such as C's arrays and structs, present additional challenges in pointer p...
Structured types, such as C’s arrays and structs, present additional challenges in pointer program v...
Safe is a first-order eager language with heap regions and unusual facilities such as programmer-con...
Modern programming languages offer a lot of guarantees (no or few memory leaks, safe parallel progra...
We present a formal model of memory that both captures the lowlevel features of C’s pointers and mem...
AbstractSafe is a first-order eager language with heap regions and unusual facilities such as progra...
AbstractBuilding on the work of Burstall, this paper develops sound modelling and reasoning methods ...
AbstractWe study the automated verification of pointer safety for heap-manipulating imperative progr...
This paper shows how to harness existing theorem provers for first-order logic to automatically veri...
AbstractWe define a new decidable logic for expressing and checking invariants of programs that mani...
Abstract. Proof-Carrying Code brings two big challenges to the re-search field of programming langua...
Region-based memory management is an alternative to standard tracing garbage collection that makes o...
We define a new decidable logic for expressing and checking invariants of programs that manipulate d...
Abstract. Safe is a first-order eager functional language with facilities for programmer controlled ...
We present a destruction-aware type system for the functional lan-guage Safe, which is a first-order...
AbstractStructured types, such as C's arrays and structs, present additional challenges in pointer p...
Structured types, such as C’s arrays and structs, present additional challenges in pointer program v...
Safe is a first-order eager language with heap regions and unusual facilities such as programmer-con...
Modern programming languages offer a lot of guarantees (no or few memory leaks, safe parallel progra...
We present a formal model of memory that both captures the lowlevel features of C’s pointers and mem...
AbstractSafe is a first-order eager language with heap regions and unusual facilities such as progra...
AbstractBuilding on the work of Burstall, this paper develops sound modelling and reasoning methods ...
AbstractWe study the automated verification of pointer safety for heap-manipulating imperative progr...
This paper shows how to harness existing theorem provers for first-order logic to automatically veri...
AbstractWe define a new decidable logic for expressing and checking invariants of programs that mani...
Abstract. Proof-Carrying Code brings two big challenges to the re-search field of programming langua...
Region-based memory management is an alternative to standard tracing garbage collection that makes o...
We define a new decidable logic for expressing and checking invariants of programs that manipulate d...