M Barnett, KRM Leino, W Schulte - … on Construction and Analysis of Safe …, 2004 - Springer
The Spec# programming system is a new attempt at a more cost effective way to develop and maintain high-quality software. This paper describes the goals and architecture of the …
TT Nguyen, HA Nguyen, NH Pham… - Proceedings of the 7th …, 2009 - dl.acm.org
The interplay of multiple objects in object-oriented programming often follows specific protocols, for example certain orders of method calls and/or control structure constraints …
C Calcagno, D Distefano, P O'Hearn… - Proceedings of the 36th …, 2009 - dl.acm.org
This paper describes a compositional shape analysis, where each procedure is analyzed independently of its callers. The analysis uses an abstract domain based on a restricted …
C Calcagno, D Distefano, PW O'hearn… - Journal of the ACM (JACM …, 2011 - dl.acm.org
The accurate and efficient treatment of mutable data structures is one of the outstanding problem areas in automatic program verification and analysis. Shape analysis is a form of …
A recent trend in programming language research is to use behavioral type theory to ensure various correctness properties of largescale, communication-intensive systems. Behavioral …
A Wasylkowski, A Zeller, C Lindig - Proceedings of the the 6th joint …, 2007 - dl.acm.org
Interacting with objects often requires following a protocol---for instance, a specific sequence of method calls. These protocols are not always documented, and violations can lead to …
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 …
G Kiczales, M Mezini - Proceedings of the 27th international conference …, 2005 - dl.acm.org
Aspects cut new interfaces through the primary decomposition of a system. This implies that in the presence of aspects, the complete interface of a module can only be determined once …
Objects often define usage protocols that clients must follow inorder for these objects to work properly. Aliasing makes itnotoriously difficult to check whether clients and implementations …