Carnegie Mellon University
file.pdf (554.92 kB)
Download file

An Empirical Study of Object Protocols in the Wild

Download (554.92 kB)
journal contribution
posted on 2011-07-01, 00:00 authored by Nels E. Beckman, Duri Kim, Jonathan Aldrich

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.


Publisher Statement

The final publication is available at Springer via



Usage metrics