Application Programming Interfaces (APIs) typically come with (implicit) usage constraints. The violations of these constraints (API misuses) can lead to software crashes. Even though there are several tools that can detect API misuses, most of them suffer from a very high rate of false positives. We introduce Catcher, a novel API misuse detection approach that combines static exception propagation analysis with automatic search-based test case generation to effectively and efficiently pinpoint crash-prone API misuses in client applications. We validate Catcher against 21 Java applications, targeting misuses of the Java platform’s API. Our results indicate that Catcher is able to generate test cases that uncover 243 (unique) API misuses tha...
Developers build on Application Programming Interfaces (APIs) to reuse existing functionalities of c...
Modern programs depend on APIS to implement a significant part of their functionality. Apart from th...
Application Programming Interfaces (APIs) represent key tools for software developers to build compl...
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...
Over the last few years, researchers proposed a multitude of automated bug-detection approaches that...
API misuses are prevalent and extremely harmful. Despite various techniques have been proposed for A...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
Programs draw significant parts of their functionality through the use of Application Programming In...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Modern programs rely on large application programming interfaces (APIs). The Android framework compr...
In this paper, we propose to configure at compiletime the checking associated with Application Progr...
Developers build on Application Programming Interfaces (APIs) to reuse existing functionalities of c...
Modern programs depend on APIS to implement a significant part of their functionality. Apart from th...
Application Programming Interfaces (APIs) represent key tools for software developers to build compl...
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...
Over the last few years, researchers proposed a multitude of automated bug-detection approaches that...
API misuses are prevalent and extremely harmful. Despite various techniques have been proposed for A...
Abstract—Programmers using an API often must follow protocols that specify when it is legal to call ...
Programs draw significant parts of their functionality through the use of Application Programming In...
Programmers using an API often must follow protocols that specify when it is legal to call particula...
<p>Programmers using an API often must follow protocols that specify when it is legal to call partic...
Abstract. The Java Card API provides a framework of classes and interfaces that hides the details of...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Modern programs rely on large application programming interfaces (APIs). The Android framework compr...
In this paper, we propose to configure at compiletime the checking associated with Application Progr...
Developers build on Application Programming Interfaces (APIs) to reuse existing functionalities of c...
Modern programs depend on APIS to implement a significant part of their functionality. Apart from th...
Application Programming Interfaces (APIs) represent key tools for software developers to build compl...