论文标题

评估开发人员的信息需求与编程语言文档之间的一致性:RUST的案例研究

Assessing the alignment between the information needs of developers and the documentation of programming languages: A case study on Rust

论文作者

Cogo, Filipe R., Xia, Xin, Hassan, Ahmed E.

论文摘要

编程语言文档是指为应用程序开发人员提供对语言高级概念的描述的一组技术文档。这种文档对于支持应用程序开发人员有效使用编程语言至关重要。记录仪(即产生文档的人员)面临的挑战之一是确保文档具有与开发人员的具体需求保持一致的相关信息。在本文中,我们提出了一种自动化方法,以支持记录员评估开发人员的具体信息需求与当前文档状态之间的差异和相似性(我们称之为编程语言文档的主题对齐)。我们的方法利用半监督的主题建模来评估Q&A帖子主题与正式文档之间的相似性和差异。为了证明我们的方法的应用,我们对Rust文档进行了案例研究。我们的结果表明,Rust文档中的局部对齐水平相对较高。尽管如此,有关特定主题的信息仍然很少,在Q&A网站和文档中,尤其是与网络,游戏和数据库开发等编程的相关主题。对于其他主题(例如,具有诸如结构,模式和匹配的语言功能以及外国功能界面等语言功能的相关主题),仅在Q&A网站上可用信息,而缺乏正式文档。最后,我们讨论了对编程语言记录仪的影响,特别是如何利用我们的方法来优先考虑应添加到文档中的主题。

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. Such documentation is essential to support application developers in the effective use of a programming language. One of the challenges faced by documenters (i.e., personnel that produce documentation) is to ensure that documentation has relevant information that aligns with the concrete needs of developers. In this paper, 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 to assess the similarities and differences between the topics of Q&A posts and the official documentation. To demonstrate the application of our approach, we perform a case study on the documentation of Rust. Our results show that there is 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.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源