Back to Search
Start Over
Assessing the Alignment between the Information Needs of Developers and the Documentation of Programming Languages: A Case Study on Rust.
- Source :
- ACM Transactions on Software Engineering & Methodology; Mar2023, Vol. 32 Issue 2, p1-48, 48p
- Publication Year :
- 2023
-
Abstract
- Programming language documentation refers to the set of technical documents that provide application developers with a description of the high-level concepts of a language (e.g., manuals, tutorials, and API references). Such documentation is essential to support application developers in effectively using a programming language. One of the challenges faced by documenters (i.e., personnel that design and produce documentation for a programming language) is to ensure that documentation has relevant information that aligns with the concrete needs of developers, defined as the missing knowledge that developers acquire via voluntary search. In this article, we present an automated approach to support documenters in evaluating the differences and similarities between the concrete information need of developers and the current state of documentation (a problem that we refer to as the topical alignment of a programming language documentation). Our approach leverages semi-supervised topic modelling that uses domain knowledge to guide the derivation of topics. We initially train a baseline topic model from a set of Rust-related Q&A posts. We then use this baseline model to determine the distribution of topic probabilities of each document of the official Rust documentation. Afterwards, we assess the similarities and differences between the topics of the Q&A posts and the official documentation. Our results show a relatively high level of topical alignment in Rust documentation. Still, information about specific topics is scarce in both the Q&A websites and the documentation, particularly related topics with programming niches such as network, game, and database development. For other topics (e.g., related topics with language features such as structs, patterns and matchings, and foreign function interface), information is only available on Q&A websites while lacking in the official documentation. Finally, we discuss implications for programming language documenters, particularly how to leverage our approach to prioritize topics that should be added to the documentation. [ABSTRACT FROM AUTHOR]
- Subjects :
- PROGRAMMING languages
INFORMATION needs
DATABASE design
DOCUMENTATION
Subjects
Details
- Language :
- English
- ISSN :
- 1049331X
- Volume :
- 32
- Issue :
- 2
- Database :
- Complementary Index
- Journal :
- ACM Transactions on Software Engineering & Methodology
- Publication Type :
- Academic Journal
- Accession number :
- 163051924
- Full Text :
- https://doi.org/10.1145/3546945