Comparison of static analysis tools for quality measurement of RPG programs

Zoltàn Tòth, Làszlò Vidàcs, R. Ferenc

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

The RPG programming language is a popular language employed widely in IBM i mainframes nowadays. Legacy mainframe systems that evolved and survived the past decades usually data intensive and even business critical applications. Recent, state of the art quality assurance tools are mostly focused on popular languages like Java, C++ or Python. In this work we compare two source code based quality management tools for the RPG language. The study is focused on the data obtained using static analysis, which is then aggregated to higher level quality attributes. SourceMeter is a command line tool-chain capable to measure various source attributes like metrics and coding rule violations. SonarQube is a quality management platform with RPG language support. To facilitate the objective comparison, we used the SourceMeter for RPG plugin for SonarQube, which seamlessly integrates into the framework extending its capabilities. The evaluation is built on analysis success and depth, source code metrics, coding rules and code duplications. We found that SourceMeter is more advanced in analysis depth, product metrics and finding duplications, while their performance of coding rules and analysis success is rather balanced. Since both tools were presented recently on the market of quality assurance tools, we expect additional releases in the future with more mature analyzers.

Original languageEnglish
Title of host publicationLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
PublisherSpringer Verlag
Pages177-192
Number of pages16
Volume9159
ISBN (Print)9783319214122
DOIs
Publication statusPublished - 2015
Event15th International Conference on Computational Science and Its Applications, ICCSA 2015 - Banff, Canada
Duration: Jun 22 2015Jun 25 2015

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9159
ISSN (Print)03029743
ISSN (Electronic)16113349

Other

Other15th International Conference on Computational Science and Its Applications, ICCSA 2015
CountryCanada
CityBanff
Period6/22/156/25/15

Fingerprint

Static analysis
Static Analysis
Quality Assurance
Quality Management
Coding
Quality management
Duplication
Quality assurance
Metric
Attribute
Legacy Systems
Legacy systems
Python
Plug-in
C++
Computer programming languages
Java
Programming Languages
Integrate
Language

Keywords

  • Coding rules
  • IBM RPG
  • Metrics
  • Software quality
  • SonarQube
  • SourceMeter
  • Static analysis

ASJC Scopus subject areas

  • Computer Science(all)
  • Theoretical Computer Science

Cite this

Tòth, Z., Vidàcs, L., & Ferenc, R. (2015). Comparison of static analysis tools for quality measurement of RPG programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9159, pp. 177-192). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 9159). Springer Verlag. https://doi.org/10.1007/978-3-319-21413-9_13

Comparison of static analysis tools for quality measurement of RPG programs. / Tòth, Zoltàn; Vidàcs, Làszlò; Ferenc, R.

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 9159 Springer Verlag, 2015. p. 177-192 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 9159).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Tòth, Z, Vidàcs, L & Ferenc, R 2015, Comparison of static analysis tools for quality measurement of RPG programs. in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). vol. 9159, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 9159, Springer Verlag, pp. 177-192, 15th International Conference on Computational Science and Its Applications, ICCSA 2015, Banff, Canada, 6/22/15. https://doi.org/10.1007/978-3-319-21413-9_13
Tòth Z, Vidàcs L, Ferenc R. Comparison of static analysis tools for quality measurement of RPG programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 9159. Springer Verlag. 2015. p. 177-192. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). https://doi.org/10.1007/978-3-319-21413-9_13
Tòth, Zoltàn ; Vidàcs, Làszlò ; Ferenc, R. / Comparison of static analysis tools for quality measurement of RPG programs. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Vol. 9159 Springer Verlag, 2015. pp. 177-192 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
@inproceedings{d5817ba7a4ef4940bff21522fcfcb850,
title = "Comparison of static analysis tools for quality measurement of RPG programs",
abstract = "The RPG programming language is a popular language employed widely in IBM i mainframes nowadays. Legacy mainframe systems that evolved and survived the past decades usually data intensive and even business critical applications. Recent, state of the art quality assurance tools are mostly focused on popular languages like Java, C++ or Python. In this work we compare two source code based quality management tools for the RPG language. The study is focused on the data obtained using static analysis, which is then aggregated to higher level quality attributes. SourceMeter is a command line tool-chain capable to measure various source attributes like metrics and coding rule violations. SonarQube is a quality management platform with RPG language support. To facilitate the objective comparison, we used the SourceMeter for RPG plugin for SonarQube, which seamlessly integrates into the framework extending its capabilities. The evaluation is built on analysis success and depth, source code metrics, coding rules and code duplications. We found that SourceMeter is more advanced in analysis depth, product metrics and finding duplications, while their performance of coding rules and analysis success is rather balanced. Since both tools were presented recently on the market of quality assurance tools, we expect additional releases in the future with more mature analyzers.",
keywords = "Coding rules, IBM RPG, Metrics, Software quality, SonarQube, SourceMeter, Static analysis",
author = "Zolt{\`a}n T{\`o}th and L{\`a}szl{\`o} Vid{\`a}cs and R. Ferenc",
year = "2015",
doi = "10.1007/978-3-319-21413-9_13",
language = "English",
isbn = "9783319214122",
volume = "9159",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "177--192",
booktitle = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",

}

TY - GEN

T1 - Comparison of static analysis tools for quality measurement of RPG programs

AU - Tòth, Zoltàn

AU - Vidàcs, Làszlò

AU - Ferenc, R.

PY - 2015

Y1 - 2015

N2 - The RPG programming language is a popular language employed widely in IBM i mainframes nowadays. Legacy mainframe systems that evolved and survived the past decades usually data intensive and even business critical applications. Recent, state of the art quality assurance tools are mostly focused on popular languages like Java, C++ or Python. In this work we compare two source code based quality management tools for the RPG language. The study is focused on the data obtained using static analysis, which is then aggregated to higher level quality attributes. SourceMeter is a command line tool-chain capable to measure various source attributes like metrics and coding rule violations. SonarQube is a quality management platform with RPG language support. To facilitate the objective comparison, we used the SourceMeter for RPG plugin for SonarQube, which seamlessly integrates into the framework extending its capabilities. The evaluation is built on analysis success and depth, source code metrics, coding rules and code duplications. We found that SourceMeter is more advanced in analysis depth, product metrics and finding duplications, while their performance of coding rules and analysis success is rather balanced. Since both tools were presented recently on the market of quality assurance tools, we expect additional releases in the future with more mature analyzers.

AB - The RPG programming language is a popular language employed widely in IBM i mainframes nowadays. Legacy mainframe systems that evolved and survived the past decades usually data intensive and even business critical applications. Recent, state of the art quality assurance tools are mostly focused on popular languages like Java, C++ or Python. In this work we compare two source code based quality management tools for the RPG language. The study is focused on the data obtained using static analysis, which is then aggregated to higher level quality attributes. SourceMeter is a command line tool-chain capable to measure various source attributes like metrics and coding rule violations. SonarQube is a quality management platform with RPG language support. To facilitate the objective comparison, we used the SourceMeter for RPG plugin for SonarQube, which seamlessly integrates into the framework extending its capabilities. The evaluation is built on analysis success and depth, source code metrics, coding rules and code duplications. We found that SourceMeter is more advanced in analysis depth, product metrics and finding duplications, while their performance of coding rules and analysis success is rather balanced. Since both tools were presented recently on the market of quality assurance tools, we expect additional releases in the future with more mature analyzers.

KW - Coding rules

KW - IBM RPG

KW - Metrics

KW - Software quality

KW - SonarQube

KW - SourceMeter

KW - Static analysis

UR - http://www.scopus.com/inward/record.url?scp=84949033072&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84949033072&partnerID=8YFLogxK

U2 - 10.1007/978-3-319-21413-9_13

DO - 10.1007/978-3-319-21413-9_13

M3 - Conference contribution

SN - 9783319214122

VL - 9159

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 177

EP - 192

BT - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

PB - Springer Verlag

ER -