The utility of complexity metrics during code reviews for CSE software projects

James M. Willenbring,Gursimran Singh Walia
DOI: https://doi.org/10.1016/j.future.2024.05.038
IF: 7.307
2024-05-21
Future Generation Computer Systems
Abstract:Software sustainability is critical for Computational Science and Engineering (CSE) software. Highly complex code makes software more difficult to maintain and less sustainable. Code reviews are a valuable part of the software development lifecycle and can be executed to manage complexity and promote sustainability. We have developed a technique to guide the code review process that considers cyclomatic complexity levels and changes during code reviews. Using real-world examples, this paper analyzes metrics gathered via GitHub Actions for several pull requests, and demonstrates the application of this approach in support of software maintainability and sustainability. We have also conducted a survey as to the usefulness of complexity metrics during code reviews. The results indicate that practitioners find the metrics useful, and that utilizing the metrics during pull request code reviews has the potential to improve the maintainability and sustainability of computational science and engineering software.
computer science, theory & methods
What problem does this paper attempt to address?