Programmers using an API often must follow protocols that specify when it is legal to call particular methods. Several techniques have been proposed to find violations of such protocols based on mined specifications. However, existing techniques either focus on single-object protocols or on particular kinds of bugs, such as missing method calls. There is no practical technique to find multi-object protocol bugs without a priori known specifications. In this paper, we combine a dynamic analysis that infers multi-object protocols and a static checker of API usage constraints into a fully automatic protocol conformance checker. The combined system statically detects illegal uses of an API without human-written specifications. Our approach find...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
The Java Card API provides a framework of classes and interfaces that hides the details of the under...
Finding and fixing buggy code is an important and cost-intensive maintenance task, and static analys...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
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...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...
In this paper, we consider object protocols that constrain in-teractions between objects in a progra...
Application Programming Interfaces (APIs) typically come with (implicit) usage constraints. The viol...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
An active area of research in computer science is the prevention of violations of object protocols, ...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
Code artefacts that have non-trivial requirements with respect to the ordering in which their method...
Over the last few years, researchers proposed a multitude of automated bug-detection approaches that...
Mining specifications and using them for bug detection is a promising way to reveal bugs in programs...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
The Java Card API provides a framework of classes and interfaces that hides the details of the under...
Finding and fixing buggy code is an important and cost-intensive maintenance task, and static analys...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
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...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...
In this paper, we consider object protocols that constrain in-teractions between objects in a progra...
Application Programming Interfaces (APIs) typically come with (implicit) usage constraints. The viol...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
An active area of research in computer science is the prevention of violations of object protocols, ...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
Code artefacts that have non-trivial requirements with respect to the ordering in which their method...
Over the last few years, researchers proposed a multitude of automated bug-detection approaches that...
Mining specifications and using them for bug detection is a promising way to reveal bugs in programs...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
The Java Card API provides a framework of classes and interfaces that hides the details of the under...
Finding and fixing buggy code is an important and cost-intensive maintenance task, and static analys...