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.
Description
An Empirical Study of Object Protocols in the Wild - Springer
%0 Book Section
%1 noKey
%A Beckman, Nels E.
%A Kim, Duri
%A Aldrich, Jonathan
%B ECOOP 2011 – Object-Oriented Programming
%D 2011
%E Mezini, Mira
%I Springer Berlin Heidelberg
%K Analysis Code Corpus Empirical Java Static Study Survey
%P 2--26
%R 10.1007/978-3-642-22655-7_2
%T An Empirical Study of Object Protocols in the Wild
%U http://dx.doi.org/10.1007/978-3-642-22655-7_2
%V 6813
%X 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.
%@ 978-3-642-22654-0
@incollection{noKey,
abstract = {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.},
added-at = {2013-11-28T13:03:37.000+0100},
author = {Beckman, Nels E. and Kim, Duri and Aldrich, Jonathan},
biburl = {https://www.bibsonomy.org/bibtex/2211774beeae2644ae75a9c6c3701dab9/gron},
booktitle = {ECOOP 2011 – Object-Oriented Programming},
description = {An Empirical Study of Object Protocols in the Wild - Springer},
doi = {10.1007/978-3-642-22655-7_2},
editor = {Mezini, Mira},
interhash = {37f4472a096aa7c229e12f07a19d2310},
intrahash = {211774beeae2644ae75a9c6c3701dab9},
isbn = {978-3-642-22654-0},
keywords = {Analysis Code Corpus Empirical Java Static Study Survey},
pages = {2--26},
publisher = {Springer Berlin Heidelberg},
series = {Lecture Notes in Computer Science},
timestamp = {2013-11-28T13:03:37.000+0100},
title = {An Empirical Study of Object Protocols in the Wild},
url = {http://dx.doi.org/10.1007/978-3-642-22655-7_2},
volume = 6813,
year = 2011
}