Automatic Detection of Five API Documentation Smells: Practitioners' Perspectives

AI-generated keywords: API Documentation Smells Software Development Automated Detection Quality

AI-generated Key Points

The license of the paper does not allow us to build upon its content and the key points are generated using the paper metadata rather than the full article.

  • API documentation plays a crucial role in learning and utilizing an API, similar to source code
  • Poorly designed documentation can hinder the ease of reusing API features
  • 'Smells' in API documentation are indicators of bad documentation styles that impede understanding and usability
  • The research by Khan et al. identifies five distinct types of API documentation smells
  • A survey with 21 professional software developers confirmed the prevalence of these smells in existing API documentation and their negative impact on productivity
  • The authors developed tools using rule-based techniques and deep learning classifiers to automatically detect and rectify these issues
  • Their best-performing classifier, BERT, achieved impressive F1-scores ranging from 0.75 to 0.97
  • This study addresses the lack of prior research on automatically detecting API documentation smells and aims to enhance developer experiences for more efficient software development practices
Also access our AI generated: Comprehensive summary, Lay summary, Blog-like article; or ask questions about this paper to our AI assistant.

Authors: Junaed Younus Khan, Md. Tawkat Islam Khondaker, Gias Uddin, Anindya Iqbal

2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)

Abstract: The learning and usage of an API is supported by official documentation. Like source code, API documentation is itself a software product. Several research results show that bad design in API documentation can make the reuse of API features difficult. Indeed, similar to code smells or code antipatterns, poorly designed API documentation can also exhibit 'smells'. Such documentation smells can be described as bad documentation styles that do not necessarily produce an incorrect documentation but nevertheless make the documentation difficult to properly understand and to use. Recent research on API documentation has focused on finding content inaccuracies in API documentation and to complement API documentation with external resources (e.g., crowd-shared code examples). We are aware of no research that focused on the automatic detection of API documentation smells. This paper makes two contributions. First, we produce a catalog of five API documentation smells by consulting literature on API documentation presentation problems. We create a benchmark dataset of 1,000 API documentation units by exhaustively and manually validating the presence of the five smells in Java official API reference and instruction documentation. Second, we conduct a survey of 21 professional software developers to validate the catalog. The developers agreed that they frequently encounter all five smells in API official documentation and 95.2% of them reported that the presence of the documentation smells negatively affects their productivity. The participants wished for tool support to automatically detect and fix the smells in API official documentation. We develop a suite of rule-based, deep and shallow machine learning classifiers to automatically detect the smells. The best performing classifier BERT, a deep learning model, achieves F1-scores of 0.75 - 0.97.

Submitted to arXiv on 16 Feb. 2021

Ask questions about this paper to our AI assistant

You can also chat with multiple papers at once here.

The license of the paper does not allow us to build upon its content and the AI assistant only knows about the paper metadata rather than the full article.

AI assistant instructions?

Results of the summarizing process for the arXiv paper: 2102.08486v1

This paper's license doesn't allow us to build upon its content and the summarizing process is here made with the paper's metadata rather than the article.

In their paper titled "Automatic Detection of Five API Documentation Smells: Practitioners' Perspectives," authors Junaed Younus Khan, Md. Tawkat Islam Khondaker, Gias Uddin, and Anindya Iqbal delve into the crucial role that official documentation plays in the learning and utilization of an API. They highlight how API documentation, akin to source code, is a software product in itself and emphasize the detrimental impact that poorly designed documentation can have on the ease of reusing API features. Drawing parallels to code smells or antipatterns, the authors identify 'smells' in API documentation as indicators of bad documentation styles that hinder proper understanding and usability. The research conducted by Khan et al. focuses on addressing these documentation smells through the development of a catalog comprising five distinct types. To validate their findings, they meticulously examined 1,000 API documentation units within Java's official API reference and instruction documents. Additionally, a survey involving 21 professional software developers confirmed that these identified smells are prevalent in existing API documentation and significantly impede productivity. One notable aspect of this study is the absence of prior research on automatically detecting API documentation smells. To bridge this gap, the authors employ a combination of rule-based techniques and deep learning classifiers to create tools capable of identifying and rectifying these issues automatically. Their best-performing classifier, BERT - a deep learning model - achieves impressive F1-scores ranging from 0.75 to 0.97. Presented at the 2021 IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER), this paper sheds light on an often overlooked aspect of software development - the quality of API documentation. By providing insights into common pitfalls and offering solutions for improvement through automated detection methods, Khan et al. 's work aims to enhance developer experiences and streamline the utilization of APIs for more efficient software development practices.
Created on 23 Jul. 2024

Assess the quality of the AI-generated content by voting

Score: 0

Why do we need votes?

Votes are used to determine whether we need to re-run our summarizing tools. If the count reaches -10, our tools can be restarted.

The previous summary was created more than a year ago and can be re-run (if necessary) by clicking on the Run button below.

The license of this specific paper does not allow us to build upon its content and the summarizing tools will be run using the paper metadata rather than the full article. However, it still does a good job, and you can also try our tools on papers with more open licenses.

Similar papers summarized with our AI tools

Navigate through even more similar papers through a

tree representation

Look for similar papers (in beta version)

By clicking on the button above, our algorithm will scan all papers in our database to find the closest based on the contents of the full papers and not just on metadata. Please note that it only works for papers that we have generated summaries for and you can rerun it from time to time to get a more accurate result while our database grows.

Disclaimer: The AI-based summarization tool and virtual assistant provided on this website may not always provide accurate and complete summaries or responses. We encourage you to carefully review and evaluate the generated content to ensure its quality and relevance to your needs.