Reachability types: tracking aliasing and separation in higher-order functional programs

Y Bao, G Wei, O Bračevac, Y Jiang, Q He… - Proceedings of the ACM …, 2021 - dl.acm.org
Ownership type systems, based on the idea of enforcing unique access paths, have been
primarily focused on objects and top-level classes. However, existing models do not as …

Nullaway: Practical type-based null safety for java

S Banerjee, L Clapp, M Sridharan - Proceedings of the 2019 27th ACM …, 2019 - dl.acm.org
NullPointerExceptions (NPEs) are a key source of crashes in modern Java programs.
Previous work has shown how such errors can be prevented at compile time via code …

Putting the semantics into semantic versioning

P Lam, J Dietrich, DJ Pearce - Proceedings of the 2020 ACM SIGPLAN …, 2020 - dl.acm.org
The long-standing aspiration for software reuse has made astonishing strides in the past few
years. Many modern software development ecosystems now come with rich sets of publicly …

ReIm & ReImInfer: Checking and inference of reference immutability and method purity

W Huang, A Milanova, W Dietl, MD Ernst - ACM SIGPLAN Notices, 2012 - dl.acm.org
Reference immutability ensures that a reference is not used to modify the referenced object,
and enables the safe sharing of object structures. A pure method does not cause side-effects …

Gentrification gone too far? affordable 2nd-class values for fun and (co-) effect

L Osvald, G Essertel, X Wu, LIG Alayón… - ACM SIGPLAN …, 2016 - dl.acm.org
First-class functions dramatically increase expressiveness, at the expense of static
guarantees. In ALGOL or PASCAL, functions could be passed as arguments but never …

Lightweight polymorphic effects

L Rytz, M Odersky, P Haller - … Conference, Bei**g, China, June 11-16 …, 2012 - Springer
Type-and-effect systems are a well-studied approach for reasoning about the computational
behavior of programs. Nevertheless, there is only one example of an effect system that has …

Further lessons from the JML project

GT Leavens, DR Cok, A Nilizadeh - The Logic of Software. A Tasting Menu …, 2022 - Springer
JML is an ambitious project in formal specification and verification that has aimed to bring
value to Java programmers. As an international, cooperative effort, JML has been a uniting …

Pure methods for roDOT

V Dort, Y Li, O Lhoták, P Parízek - 38th European Conference on …, 2024 - drops.dagstuhl.de
Object-oriented programming languages typically allow mutation of objects, but pure
methods are common too. There is great interest in recognizing which methods are pure …

Sound and complete flow ty** with unions, intersections and negations

DJ Pearce - … Workshop on Verification, Model Checking, and …, 2013 - Springer
Flow ty** is becoming a popular mechanism for ty** existing programs written in
untyped languages (eg JavaScript, Racket, Groovy). Such systems require intersections for …

[HTML][HTML] Designing a verifying compiler: Lessons learned from develo** whiley

DJ Pearce, L Groves - Science of Computer Programming, 2015 - Elsevier
An ongoing challenge for computer science is the development of a tool which automatically
verifies programs meet their specifications, and are free from runtime errors such as divide …