DR-Tools Metric was born out of the need for a simple tool that could support developers in their daily work by presenting meaningful metrics and statistics related to the code.
The vast majority of metric tools are server-side, requiring multiple configurations and complex environments to run. DR-Tools Metric, on the other hand, is a lightweight and straightforward command-line interface (CLI) tool. We believe the command line offers great power and flexibility.
We studied and selected a set of contextualized metrics that, when combined, can provide valuable insights to developers—even before they start analyzing the code. Our goal is also to present these metrics in a way that makes analysis easier and more intuitive. Additionally, we’ve defined a set of analysis heuristics based on these metrics to streamline the process and help educate developers during their investigations.
--top
option-mv
option and --save
output format.The DR-Tools Metric presents the 44 contextualized metrics by summary, namespaces, types, methods, dependencies, and coupling. The following is the list of metrics by context:
Below we list many examples of using DR-Tools Metric features.
prompt> drtools-metric
prompt> drtools-metric \repo\DrToolsMetric\src -mt --console
prompt> drtools-metric \repo\DrToolsMetric\src -s --console
prompt> drtools-metric \repo\DrToolsMetric\src -n --console
prompt> drtools-metric \repo\DrToolsMetric\src -t --console
prompt> drtools-metric \repo\DrToolsMetric\src -t --console --top 10
prompt> drtools-metric \repo\DrToolsMetric\src -t --csv > drtools-metric-types.csv
prompt> drtools-metric \repo\DrToolsMetric\src -t --json > drtools-metric-types.json
prompt> drtools-metric \repo\DrToolsMetric\src -mv --save
prompt> drtools-metric \repo\DrToolsMetric\src -m --console
prompt> drtools-metric \repo\DrToolsMetric\src -cd --console
prompt> drtools-metric \repo\DrToolsMetric\src -d --console
prompt> drtools-metric \repo\DrToolsMetric\src -id --console
prompt> drtools-metric \repo\DrToolsMetric\src -nc --console
prompt> drtools-metric \repo\DrToolsMetric\src -tc --console
prompt> drtools-metric \repo\DrToolsMetric\src -sm --console
prompt> drtools-metric \repo\DrToolsMetric\src -sat --console
References |
---|
Danijel Radjenović, Marjan Heričko, Richard Torkar, Aleš Živkovič, Software fault prediction metrics: A systematic literature review, Information and Software Technology, Volume 55, Issue 8, 2013 |
Mariza A.S. Bigonha, Kecia Ferreira, Priscila Souza, Bruno Sousa, Marcela Januário, Daniele Lima, The usefulness of software metric thresholds for detection of bad smells and fault prediction, Information and Software Technology, Volume 115, 2019 |
T. Filo, M. Bigonha, and K. Ferreira, A catalogue of thresholds for object-oriented software metrics, in Advances and Trends in Software Engineering, 2015 The First International Conference on. IARIA, 2015 |
Kecia A.M. Ferreira, Mariza A.S. Bigonha, Roberto S. Bigonha, Luiz F.O. Mendes, Heitor C. Almeida, Identifying thresholds for object-oriented software metrics, Journal of Systems and Software, Volume 85, Issue 2, 2012 |
Rangasamy, R.Selvarani & Nair, T.R. & Ramachandran, Muthu & Prasad, Kamakshi. Software Metrics Evaluation Based on Entropy. Handbook of Research on Software Engineering and Productivity Technologies: Implications of Globalization, 2010 |
Robert C. Martin and Micah Martin. 2006. Agile Principles, Patterns, and Practices in C# (Robert C. Martin). Prentice Hall PTR, Upper Saddle River, NJ, USA |
P. Oliveira, M. T. Valente and F. P. Lima, Extracting relative thresholds for source code metrics, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE), Antwerp, 2014 |
G. Vale, A benchmark-based method to derive metric thresholds, Master's Dissertation, UFMG, 2015 |
E. Lima, A. Resende, T. Lethbridge, The Uncomfortable Discrepancies of Software Metric Thresholds and Reference Values in Literature, ICSEA 2016 : The Eleventh International Conference on Software Engineering Advances, 2016 |
Checkstyle - Size Violations. https://checkstyle.sourceforge.io/config_sizes.html, 2019 |