[PDF][PDF] LLVM: An infrastructure for multi-stage optimization

CA Lattner - 2002 - llvm.org
Modern programming languages and software engineering principles are causing
increasing problems for compiler systems. Traditional approaches, which use a simple …

Ownership types for safe programming: Preventing data races and deadlocks

C Boyapati, R Lee, M Rinard - Proceedings of the 17th ACM SIGPLAN …, 2002 - dl.acm.org
This paper presents a new static type system for multithreaded programs; well-typed
programs in our system are guaranteed to be free of data races and deadlocks. Our type …

Verus: Verifying rust programs using linear ghost types

A Lattuada, T Hance, C Cho, M Brun… - Proceedings of the …, 2023 - dl.acm.org
The Rust programming language provides a powerful type system that checks linearity and
borrowing, allowing code to safely manipulate memory without garbage collection and …

Effective typestate verification in the presence of aliasing

SJ Fink, E Yahav, N Dor, G Ramalingam… - ACM Transactions on …, 2008 - dl.acm.org
This article addresses the challenge of sound typestate verification, with acceptable
precision, for real-world Java programs. We present a novel framework for verification of …

Enforcing high-level protocols in low-level software

R DeLine, M Fähndrich - Proceedings of the ACM SIGPLAN 2001 …, 2001 - dl.acm.org
The reliability of infrastructure software, such as operating systems and web servers, is often
hampered by the mismanagement of resources, such as memory and network connections …

Flow-sensitive type qualifiers

JS Foster, T Terauchi, A Aiken - Proceedings of the ACM SIGPLAN 2002 …, 2002 - dl.acm.org
We present a system for extending standard type systems with flow-sensitive type qualifiers.
Users annotate their programs with type qualifiers, and inference checks that the …

Language support for fast and reliable message-based communication in Singularity OS

M Fähndrich, M Aiken, C Hawblitzel, O Hodson… - Proceedings of the 1st …, 2006 - dl.acm.org
Message-based communication offers the potential benefits of providing stronger
specification and cleaner separation between components. Compared with shared-memory …

Locksmith: context-sensitive correlation analysis for race detection

P Pratikakis, JS Foster, M Hicks - Acm Sigplan Notices, 2006 - dl.acm.org
One common technique for preventing data races in multi-threaded programs is to ensure
that all accesses to shared locations are consistently protected by a lock. We present a tool …

Adoption and focus: Practical linear types for imperative programming

M Fahndrich, R DeLine - Proceedings of the ACM SIGPLAN 2002 …, 2002 - dl.acm.org
A type system with linearity is useful for checking software protocols andresource
management at compile time. Linearity provides powerful reasoning about state changes …

Typestates for objects

R DeLine, M Fähndrich - European Conference on Object-Oriented …, 2004 - Springer
Today's mainstream object-oriented compilers and tools do not support declaring and
statically checking simple pre-and postconditions on methods and invariants on object …