We present a type system for checking object immutability, read-only references, and class immutability in an open or closed world. To allow object initialization outside object co...
Abstract. It is common for large-scale Java applications to suffer memory problems, whether inefficient designs that impede scalability, or lifetime bugs such as leaks. Making sens...
Network protocol design is usually an informal process where debugging is based on successive iterations of a prototype implementation. The feedback provided by a prototype can be...
In the interest of designing a recursive module extension to ML that is as simple and general as possible, we propose a novel type system for general recursion over effectful expr...
It has been widely advocated that software architecture an effective set of abstractions for engineering (families of) complex software systems. However, architectural concepts ar...
Sam Malek, Chiyoung Seo, Sharmila Ravula, Brad Pet...