Literature DB >> 33817049

Evaluation of Rust code verbosity, understandability and complexity.

Luca Ardito1, Luca Barbato2, Riccardo Coppola1, Michele Valsesia1.   

Abstract

Rust is an innovative programming language initially implemented by Mozilla, developed to ensure high performance, reliability, and productivity. The final purpose of this study consists of applying a set of common static software metrics to programs written in Rust to assess the verbosity, understandability, organization, complexity, and maintainability of the language. To that extent, nine different implementations of algorithms available in different languages were selected. We computed a set of metrics for Rust, comparing them with the ones obtained from C and a set of object-oriented languages: C++, Python, JavaScript, TypeScript. To parse the software artifacts and compute the metrics, it was leveraged a tool called rust-code-analysis that was extended with a software module, written in Python, with the aim of uniforming and comparing the results. The Rust code had an average verbosity in terms of the raw size of the code. It exposed the most structured source organization in terms of the number of methods. Rust code had a better Cyclomatic Complexity, Halstead Metrics, and Maintainability Indexes than C and C++ but performed worse than the other considered object-oriented languages. Lastly, the Rust code exhibited the lowest COGNITIVE complexity of all languages. The collected measures prove that the Rust language has average complexity and maintainability compared to a set of popular languages. It is more easily maintainable and less complex than the C and C++ languages, which can be considered syntactically similar. These results, paired with the memory safety and safe concurrency characteristics of the language, can encourage wider adoption of the language of Rust in substitution of the C language in both the open-source and industrial environments.
© 2021 Ardito et al.

Entities:  

Keywords:  Software maintainability; Software metrics; Software quality

Year:  2021        PMID: 33817049      PMCID: PMC7959618          DOI: 10.7717/peerj-cs.406

Source DB:  PubMed          Journal:  PeerJ Comput Sci        ISSN: 2376-5992


  1 in total

1.  Rust-Bio: a fast and safe bioinformatics library.

Authors:  Johannes Köster
Journal:  Bioinformatics       Date:  2015-10-06       Impact factor: 6.937

  1 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.