Creating a Metric to Measure Software Flexibility in Object-Oriented Programming

Student thesis: Doctoral Thesis

Abstract

Business requirements inevitably change over time due to market shifts, law changes, new product launches or any number of other factors. The software being used by these businesses therefore also has to be adapted to meet the new requirements. How software is built has an impact on how easily and quickly the software can be changed to meet these new requirements. This thesis firstly identifies programming practices which make software difficult to adapt. To establish that these practices are genuinely considered "bad practice" a metric was created for grading the academic rigour of articles discussing a programming practice and this metric was used to perform meta-analyses of each practice identified, this meta-analysis methodology is based loosely on the methodology used for performing meta-analyses of clinical trials. The results of these meta-analyses demonstrated that the identified practices were widely considered bad practice by developers. Another metric was created to grade source code based on the frequency these bad practices appear in the code and give an overview of how flexible the code is. The aim of this metric is to facilitate learning for junior programmers while allowing more experienced programmers to evaluate the flexibility of software. A software tool was launched to enable users to evaluate and test the metric which was created. The metric was evaluated by comparison to alternative metrics and through user feedback.
Date of AwardJul 2021
Original languageEnglish
SupervisorMark Johnson (Supervisor), Suraj Ajit (Supervisor) & Scott Turner (Supervisor)

Keywords

  • Software flexibility
  • Software metrics
  • Object-oriented programming

Cite this

'