TY - JOUR
T1 - analyzeR
T2 - A SonarQube plugin for analyzing object-oriented R Packages
AU - Chandramouli, Pranav
AU - Codabux, Zadia
AU - Vidoni, Melina
N1 - Publisher Copyright:
© 2022 The Author(s)
PY - 2022/7
Y1 - 2022/7
N2 - Automated Static Analysis Tools (ASATs) analyze source-code to capture defects and ensure higher quality. SonarQube is a renown ASAT that supports mainstream programming languages. However, R programming is not included. R is an increasingly popular multi-paradigm and package-based programming environment for scientific programming. Nevertheless, R's Object-Oriented (OO) functionalities are implemented through three different systems: S3, S4, and R6, and seldom used by developers. We present analyzeR, an advanced SonarQube plugin to examine R packages built in any of the current OO models. It implements widely-used, commonly-accepted OO metrics and displays the results using SonarQube's graphical interface for increased usability, implementing an array of metrics.
AB - Automated Static Analysis Tools (ASATs) analyze source-code to capture defects and ensure higher quality. SonarQube is a renown ASAT that supports mainstream programming languages. However, R programming is not included. R is an increasingly popular multi-paradigm and package-based programming environment for scientific programming. Nevertheless, R's Object-Oriented (OO) functionalities are implemented through three different systems: S3, S4, and R6, and seldom used by developers. We present analyzeR, an advanced SonarQube plugin to examine R packages built in any of the current OO models. It implements widely-used, commonly-accepted OO metrics and displays the results using SonarQube's graphical interface for increased usability, implementing an array of metrics.
KW - Object-oriented
KW - R packages
KW - R plugin
KW - SonarQube
KW - Static code analysis
UR - http://www.scopus.com/inward/record.url?scp=85131438314&partnerID=8YFLogxK
U2 - 10.1016/j.softx.2022.101113
DO - 10.1016/j.softx.2022.101113
M3 - Article
SN - 2352-7110
VL - 19
JO - SoftwareX
JF - SoftwareX
M1 - 101113
ER -