The literature proposes many software metrics for evaluating the source code non-functional properties, such as its complexity and maintainability. The literature also proposes several tools to compute those properties on source codes developed with many different software languages. However, the Rust language emergence has not been paired by the community’s effort in developing parsers and tools able to compute metrics for the Rust source code. Also, metrics tools often fall short in providing immediate means of comparing maintainability metrics between different algorithms or coding languages. We hence introduce rust-code-analysis, a Rust library that allows the extraction of a set of eleven maintainability metrics for ten different languages, including Rust. rust-code-analysis, through the Abstract Syntax Tree (AST) of a source file, allows the inspection of the code structure, analyzing source code metrics at different levels of granularity, and finding code syntax errors before compiling time. The tool also offers a command-line interface that allows exporting the results in different formats. The possibility of analyzing source codes written in different programming languages enables simple and systematic comparisons between the metrics produced from different empirical and large-scale analysis sources.

rust-code-analysis: A Rust library to analyze and extract maintainability information from source codes / Ardito, Luca; Barbato, Luca; Castelluccio, Marco; Coppola, Riccardo; Denizet, Calixte; Ledru, Sylvestre; Valsesia, Michele. - In: SOFTWAREX. - ISSN 2352-7110. - ELETTRONICO. - 12:2020(2020), pp. 1-6. [10.1016/j.softx.2020.100635]

rust-code-analysis: A Rust library to analyze and extract maintainability information from source codes

Luca Ardito;Riccardo Coppola;Michele Valsesia
2020

Abstract

The literature proposes many software metrics for evaluating the source code non-functional properties, such as its complexity and maintainability. The literature also proposes several tools to compute those properties on source codes developed with many different software languages. However, the Rust language emergence has not been paired by the community’s effort in developing parsers and tools able to compute metrics for the Rust source code. Also, metrics tools often fall short in providing immediate means of comparing maintainability metrics between different algorithms or coding languages. We hence introduce rust-code-analysis, a Rust library that allows the extraction of a set of eleven maintainability metrics for ten different languages, including Rust. rust-code-analysis, through the Abstract Syntax Tree (AST) of a source file, allows the inspection of the code structure, analyzing source code metrics at different levels of granularity, and finding code syntax errors before compiling time. The tool also offers a command-line interface that allows exporting the results in different formats. The possibility of analyzing source codes written in different programming languages enables simple and systematic comparisons between the metrics produced from different empirical and large-scale analysis sources.
2020
File in questo prodotto:
File Dimensione Formato  
1-s2.0-S2352711020303484-main.pdf

accesso aperto

Descrizione: versione pubblcata
Tipologia: 2a Post-print versione editoriale / Version of Record
Licenza: Creative commons
Dimensione 444.89 kB
Formato Adobe PDF
444.89 kB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11583/2854856