Date of Original Version

7-2011

Type

Conference Proceeding

Rights Management

The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-642-22655-7_2

Abstract or Description

An active area of research in computer science is the prevention of violations of object protocols, i.e., restrictions on temporal orderings of method calls on an object. However, little is understood about object protocols in practice. This paper describes an empirical study of object protocols in some popular open-source Java programs. In our study, we have attempted to determine how often object protocols are defined, and how often they are used, while also developing a taxonomy of similar protocols. In the open-source projects in our study, comprising almost two million lines of code, approximately 7.2% of all types defined protocols, while 13% of classes were clients of types defining protocols. (For comparison, 2.5% of the types in the Java library define type parameters using Java Generics.) This suggests that protocol checking tools are widely applicable.

DOI

10.1007/978-3-642-22655-7_2

Share

COinS
 

Published In

Lecture Notes in Computer Science, 6813, 2-26.