API misuses are prevalent and extremely harmful. Despite various techniques have been proposed for API-misuse detection, it is not even clear how different types of API misuses distribute and whether existing techniques have covered all major types of API misuses. Therefore, in this paper, we conduct the first large-scale empirical study on API misuses based on 528,546 historical bug-fixing commits from GitHub (from 2011 to 2018). By leveraging a state-of-the-art fine-grained AST differencing tool, GumTree, we extract more than one million bug-fixing edit operations, 51.7% of which are API misuses. We further systematically classify API misuses into nine different categories according to the edit operations and context. We also extract vari...
Research on API migration and language conversion can be informed by empirical data about API usage....
peer reviewedAndroid app developers recurrently use crypto-APIs to provide data security to app user...
To improve software productivity, when constructing new software systems, programmers often reuse ex...
Over the last few years, researchers proposed a multitude of automated bug-detection approaches that...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
Developers build on Application Programming Interfaces (APIs) to reuse existing functionalities of c...
Application Programming Interfaces (APIs) typically come with (implicit) usage constraints. The viol...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Application Programming Interfaces (APIs) in cryptography typically impose concealed usage con...
Programmers often consult an online Q&A forum such as Stack Overflow to learn new APIs. This paper p...
An Application Programming Interface (API) provides a specific set of functionalities to a developer...
Description: Artifact Package for the paper Dealing with Variability in API Misuse Specification, ac...
Nowadays, service-oriented architectures are more popular than ever, and more and more companies and...
APIs are the primary mechanism for developers to gain access to externally defined services and tool...
An Application Programming Interface (API) provides a set of functionalities to a developer with the...
Research on API migration and language conversion can be informed by empirical data about API usage....
peer reviewedAndroid app developers recurrently use crypto-APIs to provide data security to app user...
To improve software productivity, when constructing new software systems, programmers often reuse ex...
Over the last few years, researchers proposed a multitude of automated bug-detection approaches that...
Today's software industry relies heavily on the reuse of existing software libraries. Such libraries...
Developers build on Application Programming Interfaces (APIs) to reuse existing functionalities of c...
Application Programming Interfaces (APIs) typically come with (implicit) usage constraints. The viol...
Software application programming interfaces (APIs) are a ubiquitous part of Software Engineering. Th...
Application Programming Interfaces (APIs) in cryptography typically impose concealed usage con...
Programmers often consult an online Q&A forum such as Stack Overflow to learn new APIs. This paper p...
An Application Programming Interface (API) provides a specific set of functionalities to a developer...
Description: Artifact Package for the paper Dealing with Variability in API Misuse Specification, ac...
Nowadays, service-oriented architectures are more popular than ever, and more and more companies and...
APIs are the primary mechanism for developers to gain access to externally defined services and tool...
An Application Programming Interface (API) provides a set of functionalities to a developer with the...
Research on API migration and language conversion can be informed by empirical data about API usage....
peer reviewedAndroid app developers recurrently use crypto-APIs to provide data security to app user...
To improve software productivity, when constructing new software systems, programmers often reuse ex...