The DOI matches its Crossref record; the references it cites are not checked yet.
Evaluation of Rust code verbosity, understandability and complexity
Open accessAbstract
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.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Figures










Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
The citation lists haven’t been fetched yet
References 47 · Cited by 9
Research works printed but not linked: 18
- Amara, 2017, Towards a new framework of software reliability measurement based on software metrics, Procedia Computer Science, 109, 725, 10.1016/j.procs.2017.05.428 · DOI
- Ardito, 2020a, rust-code-analysis: a rust library to analyze and extract maintainability information from source codes, SoftwareX, 12, 100635, 10.1016/j.softx.2020.100635 · DOI
- Ardito, 2020b, A tool-based perspective on software code maintainability metrics: a systematic literature review, Scientific Programming, 2020, 8840389, 10.1155/2020/8840389 · DOI
- Astrauskas, 2019, Leveraging rust types for modular specification and verification, Proceedings of the ACM on Programming Languages, 3, 1, 10.1145/3360573 · DOI
- Ferreira, 2006, On the Benjamini–Hochberg method, Annals of Statistics, 34, 1827, 10.1214/009053606000000425 · DOI
- Frantz, 2019, Ranking open source application integration frameworks based on maintainability metrics: a review of five-year evolution, Software: Practice and Experience, 49, 1531, 10.1002/spe.2733 · DOI
- Gill, 1991, Cyclomatic complexity density and software maintenance productivity, IEEE Transactions on Software Engineering, 17, 1284, 10.1109/32.106988 · DOI
- Halstead, 1977, Elements of software science, 7
- Jingqiu, 2003, A new measure of software complexity based on cognitive weights, Canadian Journal of Electrical and Computer Engineering, 28, 69, 10.1109/CJECE.2003.1532511 · DOI
- Kaur, 2011, Determination of maintainability index for object oriented systems, ACM SIGSOFT Software Engineering Notes, 36, 1, 10.1145/1943371.1943383 · DOI
- Köster, 2016, Rust-bio: a fast and safe bioinformatics library, Bioinformatics, 32, 444, 10.1093/bioinformatics/btv573 · DOI
- Matsakis, 2014, The rust language, ACM SIGAda Ada Letters, 34, 103, 10.1145/2692956.2663188 · DOI
- Nguyen, 2007, A SLOC counting standard, Cocomo ii forum, 1
- Nuñez-Varela, 2017, Source code metrics: a systematic mapping study, Journal of Systems and Software, 128, 164, 10.1016/j.jss.2017.03.044 · DOI
- Robson, 2016, Real world research
- Saifan, 2018, Evaluating the understandability of android applications, International Journal of Software Innovation, 6, 44, 10.4018/IJSI.2018010104 · DOI
- Welker, 2001, The software maintainability index revisited, CrossTalk, 14, 18
- Zhou, 2007, Predicting object-oriented software maintainability using multivariate adaptive regression splines, Journal of systems and software, 80, 1349, 10.1016/j.jss.2006.10.049 · DOI
Metadata
- Authors
- Ardito, L., Barbato, L., Coppola, R., & Valsesia, M.
- Affiliations
- Politecnico di Torino (IT)
- Luminem, Torino, Piemonte, Italia
- Corresponding author
- Ardito, Luca
- Venue
- PeerJ Computer Science
- Publisher
- PeerJ
- Published
- 2021-02-26
- Volume
- 7
- Pages
- e406
- ISSN
- 2376-5992 (ISSN-L)
- PMC
- PMC7959618
- OpenAlex
- W3134923652
- Cited by
- 9
- References
- 47
- Citations by year
- 2026: 1 · 2025: 3 · 2024: 5
- FWCI
- 1.04
- Type
- journal article
- Language
- en
- Open access
- gold
- doi.org
- Locations
- PeerJ Computer Science (publishedVersion, cc-by)
- PubMed Central (publishedVersion, cc-by)
- PubMed (publishedVersion)
- PORTO@Iris (submittedVersion, cc-by)
- DOAJ (DOAJ: Directory of Open Access Journals) (submittedVersion, cc-by-sa)
- Funders
- Mozilla Research Fund (2018 H2)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Software › Logic, programming, and type systems
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Keywords
- Rust, code complexity, maintainability, cyclomatic complexity, Halstead metrics, maintainability index, cognitive complexity, algorithm implementation
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: Evaluation of Rust code verbosity, understandability and complexity. https://app.cochat.ai/papers/10.7717/peerj-cs.406
- The paper
- Ardito, L., Barbato, L., Coppola, R., & Valsesia, M. (2021). Evaluation of Rust code verbosity, understandability and complexity. PeerJ Computer Science. https://doi.org/10.7717/peerj-cs.406