Understanding Roxygen Package Documentation in R

dc.contributor.authorVidoni, Melina
dc.date.accessioned2023-07-21T00:27:10Z
dc.date.issued2022
dc.date.updated2022-05-22T08:16:02Z
dc.description.abstractR is a package-based programming ecosystem that provides an easy way to install third-party code, datasets, and examples. Thus, R developers rely heavily on the documentation of the packages they import to use them correctly and accurately. This documentation is often written using Roxygen, equivalent to Java’s well-known Javadoc. This two-part study provides the first analysis in this area. First, 379 systematically-selected, open-source R packages were mined and analysed to address the quality of their documentation in terms of presence, distribution, and completeness to identify potential sources of documentation debt of technical debt that describes problems in the documentation. Second, a survey addressed how R package developers perceive documentation and face its challenges (with a response rate of 10.04%). Results show that incomplete documentation is the most common smell, with several cases of incorrect use of the Roxygen utilities. Unlike in traditional API documentation, developers do not focus on how behaviour is implemented but on common use cases and parameter documentation. Respondents considered the examples section the most useful, and commonly perceived challenges were unexplained examples, ambiguity, incompleteness and fragmented information.en_AU
dc.format.mimetypeapplication/pdfen_AU
dc.identifier.issn0164-1212en_AU
dc.identifier.urihttp://hdl.handle.net/1885/294473
dc.language.isoen_AUen_AU
dc.publisherElsevieren_AU
dc.rights© 2022 Elsevier Inc.en_AU
dc.sourceJournal of Systems and Softwareen_AU
dc.subjectSoftware engineeringen_AU
dc.subjectRoxygenen_AU
dc.subjectApi documentationen_AU
dc.subjectTechnical debten_AU
dc.subjectMining software repositoriesen_AU
dc.subjectDevelopers’ surveyen_AU
dc.titleUnderstanding Roxygen Package Documentation in Ren_AU
dc.typeJournal articleen_AU
local.bibliographicCitation.lastpage16en_AU
local.bibliographicCitation.startpage1en_AU
local.contributor.affiliationVidoni, Melina, College of Engineering and Computer Science, ANUen_AU
local.contributor.authoremailu1118090@anu.edu.auen_AU
local.contributor.authoruidVidoni, Melina, u1118090en_AU
local.description.embargo2099-12-31
local.description.notesImported from ARIESen_AU
local.identifier.absfor461202 - Empirical software engineeringen_AU
local.identifier.absfor461207 - Software quality, processes and metricsen_AU
local.identifier.absseo220407 - Human-computer interactionen_AU
local.identifier.absseo220401 - Application software packagesen_AU
local.identifier.ariespublicationu1118090xPUB4en_AU
local.identifier.citationvolume188en_AU
local.identifier.doi10.1016/j.jss.2022.111265en_AU
local.identifier.scopusID2-s2.0-85125458156
local.identifier.uidSubmittedByu1118090en_AU
local.publisher.urlhttps://www.elsevier.com/en-auen_AU
local.type.statusPublished Versionen_AU

Downloads

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
1-s2.0-S0164121222000310-main.pdf
Size:
1.56 MB
Format:
Adobe Portable Document Format
Description: