SoftwareX (Jul 2022)

analyzeR: A SonarQube plugin for analyzing object-oriented R Packages

  • Pranav Chandramouli,
  • Zadia Codabux,
  • Melina Vidoni

DOI
https://doi.org/10.1016/j.softx.2022.101113
Journal volume & issue
Vol. 19
p. 101113

Abstract

Read online

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.

Keywords