Code artifacts that have nontrivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. This work addresses the problem of validating if API implementations provide their intended behavior when descriptions of this behavior are informal, partial, or nonexistent. The proposed approach addresses this problem by generating abstract behavior models which resemble typestates. These models are statically computed and encode all admissible sequences of method calls. The level of abstraction at which such models are constructed has shown to be useful for validating code artifacts and identifying findings which led to th...
Application Programming Interface (API) constraints on objects are rules that API client code must f...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
Behavioral interface specification languages provide formal code-level annotations, such as precondi...
Muchas interfaces programáticas de aplicación (APIs) presentan restricciones no triviales respecto a...
Code artefacts that have non-trivial requirements with respect to the ordering in which their method...
Code artefacts that have non-trivial requirements with respect to the ordering in which their method...
Pre/postcondition-based specifications are commonplace in a variety of software engineering activiti...
A significant proportion of classes in modern software introduce or use object protocols, prescripti...
We introduce and demonstrate the viability of a novel technique for verifying that implementations o...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
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...
A significant proportion of classes in modern software introduce or use object protocols, prescripti...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...
Application Programming Interface (API) constraints on objects are rules that API client code must f...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
Behavioral interface specification languages provide formal code-level annotations, such as precondi...
Muchas interfaces programáticas de aplicación (APIs) presentan restricciones no triviales respecto a...
Code artefacts that have non-trivial requirements with respect to the ordering in which their method...
Code artefacts that have non-trivial requirements with respect to the ordering in which their method...
Pre/postcondition-based specifications are commonplace in a variety of software engineering activiti...
A significant proportion of classes in modern software introduce or use object protocols, prescripti...
We introduce and demonstrate the viability of a novel technique for verifying that implementations o...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
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...
A significant proportion of classes in modern software introduce or use object protocols, prescripti...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...
Application Programming Interface (API) constraints on objects are rules that API client code must f...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
Behavioral interface specification languages provide formal code-level annotations, such as precondi...