The platform will undergo maintenance on Sep 14 at about 7:45 AM EST and will be unavailable for approximately 2 hours.
2019
DOI: 10.1109/tse.2018.2827384
|View full text |Cite
|
Sign up to set email alerts
|

A Systematic Evaluation of Static API-Misuse Detectors

Abstract: Application Programming Interfaces (APIs) often have usage constraints, such as restrictions on call order or call conditions. API misuses, i.e., violations of these constraints, may lead to software crashes, bugs, and vulnerabilities. Though researchers developed many API-misuse detectors over the last two decades, recent studies show that API misuses are still prevalent. Therefore, we need to understand the capabilities and limitations of existing detectors in order to advance the state of the art. In this p… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
86
0
1

Year Published

2019
2019
2023
2023

Publication Types

Select...
4
4
1

Relationship

0
9

Authors

Journals

citations
Cited by 97 publications
(89 citation statements)
references
References 45 publications
0
86
0
1
Order By: Relevance
“…An interesting example is represented by testing Application Programming Interface (API) uses. APIs misuses [4] are commons as clients may invoke the APIs violating its implicit preconditions. Interesting paths then are those where the client class invokes the APIs without verifying whether the data passed to the APIs satisfy or not its implicit precondition.…”
Section: A Challenge 1: the Path And Condition Explosion Problemmentioning
confidence: 99%
“…An interesting example is represented by testing Application Programming Interface (API) uses. APIs misuses [4] are commons as clients may invoke the APIs violating its implicit preconditions. Interesting paths then are those where the client class invokes the APIs without verifying whether the data passed to the APIs satisfy or not its implicit precondition.…”
Section: A Challenge 1: the Path And Condition Explosion Problemmentioning
confidence: 99%
“…Method names are the intuitive and vital information for developers to understand the behavior of programs or APIs [8]- [11]. Therefore, inconsistent method names can make programs harder to understand and maintain [12]- [18], and may even lead to software defects [19]- [22]. Poor method names are indeed prone to be defective.…”
Section: Introductionmentioning
confidence: 99%
“…The fact that apis are opaque to developers is known to lead to incorrect uses (or api misuses [3,4]) since client applications can violate the (implicit) usage constraints (often referred to as contract) of those apis. For example, a violation occurs when a client application calls a method that expects a non-null formal parameter without validating (i.e., via null checks or error handling) the references used as arguments.…”
Section: Introductionmentioning
confidence: 99%
“…For example, a violation occurs when a client application calls a method that expects a non-null formal parameter without validating (i.e., via null checks or error handling) the references used as arguments. A classification of these violations has been made by Amann et al [3,4]. api misuses can cause software reliability problems, originating from issues such as poor handling of user input and resource misuse [3], or even increasing the attack surface of client applications [17,38].…”
Section: Introductionmentioning
confidence: 99%