Title
An Empirical Study on API-Misuse Bugs in Open-Source C Programs
Abstract
Today, large and complex software is developed with integrated components using application programming interfaces (APIs). Correct usage of APIs in practice presents a challenge due to implicit constraints, such as call conditions or call orders. API misuse, i.e., violation of these constraints, is a well-known source of bugs, some of which can cause serious security vulnerabilities. Although researchers have developed many API-misuse detectors over the last two decades, recent studies show that API misuses are still prevalent. In this paper, we provide a comprehensive empirical study on API-misuse bugs in open-source C programs. To understand the nature of API misuses in practice, we analyze 830 API-misuse bugs from six popular programs across different domains. For all the studied bugs, we summarize their root causes, fix patterns and usage statistics. Furthermore, to understand the capabilities and limitations of state-of-the-art static analysis detectors for API-misuse detection, we develop APIMU4C, a dataset of API-misuse bugs in C code based on our empirical study results, and evaluate three widely-used detectors on it qualitatively and quantitatively. We share all the findings and present possible directions towards more powerful API-misuse detectors.
Year
DOI
Venue
2019
10.1109/COMPSAC.2019.00012
2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC)
Keywords
DocType
Volume
API misuse,empirical study,benchmark,bug detection
Conference
1
ISSN
ISBN
Citations 
0730-3157
978-1-7281-2607-4
0
PageRank 
References 
Authors
0.34
17
5
Name
Order
Citations
PageRank
Zuxing Gu102.37
Jiecheng Wu202.03
Jiaxiang Liu321.72
Min Zhou46922.62
Ming Gu555474.82