Making software reliable is one of the most important technological challenges facing our society today. This thesis presents a new type system that addresses this problem by …
DL Heine, MS Lam - Proceedings of the 28th international conference …, 2006 - dl.acm.org
This paper presents the first practical static analysis tool that can find memory leaks and double deletions of objects held in polymorphic containers. This is especially important …
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 …
S Zdancewic, AC Myers - Higher-Order and Symbolic Computation, 2002 - Springer
Security-typed languages enforce secrecy or integrity policies by type-checking. This paper investigates continuation-passing style (CPS) as a means of proving that such languages …
Software plays a pivotal role in our daily lives, yet software glitches and security vulnerabilities continue to plague us. Existing techniques for ensuring the quality of software …
D Dhurjati, S Kowshik, V Adve, C Lattner - ACM Transactions on …, 2005 - dl.acm.org
Traditional approaches to enforcing memory safety of programs rely heavily on run-time checks of memory accesses and on garbage collection, both of which are unattractive for …
NA Hamid, Z Shao, V Trifonov, S Monnier… - Journal of Automated …, 2003 - Springer
Proof-carrying code (PCC) is a general framework for verifying the safety properties of machine-language programs. PCC proofs are usually written in a logic extended with …
Type systems usually characterize the shape of values but not their free variables. However, there are many desirable safety properties one could guarantee if one could track how …
We present Mezzo, a typed programming language of ML lineage. Mezzo is equipped with a novel static discipline of duplicable and affine permissions, which controls aliasing and …