Abstract—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 appr...
Finding and fixing buggy code is an important and cost-intensive maintenance task, and static analys...
The Java Card API provides a framework of classes and interfaces that hides the details of the under...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
<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 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...
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...
Program verification is a promising approach to improving program quality, because it can search all...
Finding and fixing buggy code is an important and cost-intensive maintenance task, and static analys...
The Java Card API provides a framework of classes and interfaces that hides the details of the under...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
<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 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...
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...
Program verification is a promising approach to improving program quality, because it can search all...
Finding and fixing buggy code is an important and cost-intensive maintenance task, and static analys...
The Java Card API provides a framework of classes and interfaces that hides the details of the under...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...