Abstract. How close are we to a world where every paper on programming languages is accompanied by an electronic appendix with machinechecked proofs? We propose an initial set of b...
Brian E. Aydemir, Aaron Bohannon, Matthew Fairbair...
Conventional specifications for object-oriented (OO) programs must adhere to behavioral subtyping in support of class inheritance and method overriding. However, this requirement ...
Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, She...
A compiler-checked immutability guarantee provides useful documentation, facilitates reasoning, and enables optimizations. This paper presents Immutability Generic Java (IGJ), a n...
Yoav Zibin, Alex Potanin, Mahmood Ali, Shay Artzi,...
Abstract. In many domains, classes have highly regular internal structure. For example, so-called business objects often contain boilerplate code for mapping database fields to cl...
Current languages allow a programmer to describe an interface only by enumerating its parts, possibly including other interfaces wholesale. Such languages cannot express relations...