Sebastian Nielebock, Robert Heumüller, Frank Ortmeier: Commits as a Basis for API Misuse Detection. In: ACM, (Hrsg.): Proceedings of the 7th International Workshop on Software Mining (SoftwareMining ’18), September 3, 2018, Montpellier, France., S. 4, ACM, New York, NY, USA, 2018.

Abstract

Programmers frequently make use of APIs.
However, these usages can result in unintended, negative behavior, when developers are not aware of the correct usage or side effects of that API.
Detecting those API misuses by means of automatic testing is challenging, as many test suites do not cover this unintended behavior.

Instead, API usage patterns are used as specifications to verify the correctness of applications.
However, to find meaningful patterns, i.e., those capable of fixing the misuse, the context of the misuse must be considered.
Since the developer usually does not know which API is misused, a much larger code section has to be verified against many potential patterns.

In this paper, we present a new idea to enhance API misuse detection by means of commits.
We discuss the potential of using commits (1) to decrease the size of the code to be considered, (2) to identify suspicious commits, and (3) to contain API usages which can be used to shepherd API specification mining.

This paper shows first results on the usability of commits for API misuse detection and some insights into what makes a commit suspicious in terms of exhibiting potential API misuses.

BibTeX (Download)

@inproceedings{NielebockAPIMisuseCommits2018,
title = {Commits as a Basis for API Misuse Detection},
author = {Sebastian Nielebock and Robert Heum\"{u}ller and Frank Ortmeier},
editor = {ACM},
url = {https://cse.cs.ovgu.de/cse-wordpress/wp-content/uploads/2018/08/nielebock-et-al-Commits_as_a_Basis_for_API_Misuse_Detection.pdf},
doi = {10.1145/3242887.3242890},
year  = {2018},
date = {2018-09-03},
booktitle = {Proceedings of the 7th International Workshop on Software Mining (SoftwareMining ’18), September 3, 2018, Montpellier, France.},
journal = {Proceedings of the 7th International Workshop on Software Mining (SoftwareMining ’18), September 3, 2018, Montpellier, France.},
pages = {4},
publisher = {ACM},
address = {New York, NY, USA},
abstract = {Programmers frequently make use of APIs.  
However, these usages can result in unintended, negative behavior, when developers are not aware of the correct usage or side effects of that API.  
Detecting those API misuses by means of automatic testing is challenging, as many test suites do not cover this unintended behavior.  
  
Instead, API usage patterns are used as specifications to verify the correctness of applications.  
However, to find meaningful patterns, i.e., those capable of fixing the misuse, the context of the misuse must be considered.  
Since the developer usually does not know which API is misused, a much larger code section has to be verified against many potential patterns.  
  
In this paper, we present a new idea to enhance API misuse detection by means of commits.  
We discuss the potential of using commits (1) to decrease the size of the code to be considered, (2) to identify suspicious commits, and (3) to contain API usages which can be used to shepherd API specification mining.  
  
This paper shows first results on the usability of commits for API misuse detection and some insights into what makes a commit suspicious in terms of exhibiting potential API misuses.},
keywords = {Application programming interfaces, Commits, Misuse Detection, Misuses},
pubstate = {published},
tppubtype = {inproceedings}
}