Litcius/Paper detail

Evaluating Software Documentation Quality

Henry Tang, Sarah Nadi

202314 citationsDOIOpen Access PDF

Abstract

The documentation of software libraries is an essential resource for learning how to use the library. Bad documentation may demotivate a developer from using the library or may result in incorrect usage of the library. Therefore, as developers select which libraries to use and learn, it would be beneficial to know the quality of the available documentation. In this paper, we follow a systematic process to create an automatic documentation quality evaluation tool. We identify several documentation quality aspects from the literature and design metrics that measure these aspects. We design a documentation quality overview visualization to visualize and present these metrics, and receive intermediate feedback through a focused interview study. Based on the received feedback, we implement a prototype for a web service that can evaluate a given documentation page for Java, JavaScript, and Python libraries. We use this web service to conduct a survey with 26 developers where we evaluate the usefulness of our metrics as well as whether they reflect developers’ experiences when using this library. Our results show that participants rated most of our metrics highly, with Text Readability, and Code Readability (of examples) receiving the highest ratings. We also found several libraries where our evaluation reflected developers’ experiences using the library, indicating the accuracy of our metrics.

Topics & Concepts

DocumentationReadabilityComputer scienceWorld Wide WebSoftware documentationJavaScriptPython (programming language)SoftwareQuality (philosophy)JavaSoftware engineeringSoftware developmentSoftware development processProgramming languageEpistemologyPhilosophySoftware Engineering ResearchSoftware Engineering Techniques and PracticesSoftware Reliability and Analysis Research