Cullum, Stephen (2023) Codemology : Measuring software understandability by exploiting human behaviours captured within source code. Doctoral thesis, University of Essex.
Cullum, Stephen (2023) Codemology : Measuring software understandability by exploiting human behaviours captured within source code. Doctoral thesis, University of Essex.
Cullum, Stephen (2023) Codemology : Measuring software understandability by exploiting human behaviours captured within source code. Doctoral thesis, University of Essex.
Abstract
This study was motivated by professional software development issues experienced over a thirty-year career within commercial environments. Some products were harder to support, maintain and develop because their code was hard to decipher. Unfortunately, commercial and academic literature is discordant on measuring software understandability and lacks consensus on ways to quantify the notion accurately and consistently. A mathematical model defining a multi-dimensional variance space was developed which recognised developer coding preference and bias within source code, providing novel measures of software understandability. Low-quality code was inconsistent, diverging from preferred ways of working. A proof-of-concept toolkit was created to visualise and report software understandability, allowing manual and automatic exploration of the variance space, which underpinned commercial and academic trials, providing rapid feedback on code quality as it was written. The model was verified on real-world large-scale software, identifying code with understandability issues; in all cases showing statistical significance. Commercial trials reported that professional developers believed recommendations to be accurate and relevant. Academic trials revealed that understandability visibility enabled a positive feedback loop, allowing students to undertake clean code self-governance via gamification, promoting long term product health. Tutor assigned technical code quality marks improved when recommendations were followed. Surprisingly, team cohesion was enriched, with student peer review showing statistically significant improvements in participation, focus and ideas. The technique, termed Codemology, recognises the human element in code, providing an early warning system for software products and stakeholders, which can be used alongside existing management and development processes. Stakeholders are provided with oversight, identifying aspects of the project/product requiring more attention, and insight, highlighting team code quality programming behaviours facilitating educative support. Findings and experiences in the field suggest that Codemology encourages beneficial behaviours for software development and the well being of the team.
Item Type: | Thesis (Doctoral) |
---|---|
Uncontrolled Keywords: | Software Understandability |
Subjects: | Q Science > QA Mathematics > QA76 Computer software |
Divisions: | Faculty of Science and Health > Computer Science and Electronic Engineering, School of |
Depositing User: | Stephen Cullum |
Date Deposited: | 02 Jun 2023 08:32 |
Last Modified: | 02 Jun 2023 08:32 |
URI: | http://repository.essex.ac.uk/id/eprint/35703 |