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 th...
API libraries are becoming increasingly popular in modern software industries because these librarie...
Abstract. Session types allow communication protocols to be specified type-theoretically so that pro...
Conventionally, interfaces of objects export a set of messages with their types, and suggest nothing...
In this paper, we consider object protocols that constrain interactions between objects in a program...
In this paper, we consider object protocols that constrain in-teractions between objects in a progra...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
In object-oriented programs, it is often the case that object types define usage protocols as an imp...
In a pre and postconditions-style specification, it is difficult to specify the allowed sequences of...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
The object-oriented paradigm represents a significant shift in approach to the development of comple...
Session types allow communication protocols to be specified type-theoretically so that protocol impl...
There is often a sort of a protocol associated to each class, stating when and how certain methods s...
Application Programming Interfaces (APIs) often define protocols— restrictions on the order of clien...
API libraries are becoming increasingly popular in modern software industries because these librarie...
Abstract. Session types allow communication protocols to be specified type-theoretically so that pro...
Conventionally, interfaces of objects export a set of messages with their types, and suggest nothing...
In this paper, we consider object protocols that constrain interactions between objects in a program...
In this paper, we consider object protocols that constrain in-teractions between objects in a progra...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
In object-oriented programs, it is often the case that object types define usage protocols as an imp...
In a pre and postconditions-style specification, it is difficult to specify the allowed sequences of...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
The object-oriented paradigm represents a significant shift in approach to the development of comple...
Session types allow communication protocols to be specified type-theoretically so that protocol impl...
There is often a sort of a protocol associated to each class, stating when and how certain methods s...
Application Programming Interfaces (APIs) often define protocols— restrictions on the order of clien...
API libraries are becoming increasingly popular in modern software industries because these librarie...
Abstract. Session types allow communication protocols to be specified type-theoretically so that pro...
Conventionally, interfaces of objects export a set of messages with their types, and suggest nothing...