Foundations of session types and behavioural contracts

H Hüttel, I Lanese, VT Vasconcelos, L Caires… - ACM Computing …, 2016 - dl.acm.org
Behavioural type systems, usually associated to concurrent or distributed computations,
encompass concepts such as interfaces, communication protocols, and contracts, in addition …

The Spec# programming system: An overview

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 …

Graph-based mining of multiple object usage patterns

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 …

Compositional shape analysis by means of bi-abduction

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 …

Compositional shape analysis by means of bi-abduction

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 …

Behavioral types in programming languages

D Ancona, V Bono, M Bravetti, J Campos… - … and Trends® in …, 2016 - nowpublishers.com
A recent trend in programming language research is to use behavioral type theory to ensure
various correctness properties of largescale, communication-intensive systems. Behavioral …

Detecting object usage anomalies

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 …

Effective typestate verification in the presence of aliasing

SJ Fink, E Yahav, N Dor, G Ramalingam… - ACM Transactions on …, 2008 - dl.acm.org
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 …

Aspect-oriented programming and modular reasoning

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 …

Modular typestate checking of aliased objects

K Bierhoff, J Aldrich - ACM SIGPLAN Notices, 2007 - dl.acm.org
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 …