Maintainability prediction for relational database-driven software applications

Reference

Degree Grantor

The University of Auckland

Abstract

Software maintainability is a key quality attribute of software systems. Its prediction can enable organizations to make informed decisions about managing their maintenance resources and adopting a defensive design. Relational database-driven software applications are the most widely developed and used applications of the current time whose maintenance involves changes to the front end application as well as to the relational database schema. The presence of a relational database back-end in these applications requires special considerations in respect of maintainability. However, these considerations are often ignored in the literature. To help fill this gap, this PhD research was initiated to investigate how the maintainability of relational database-driven applications may be predicted. The position taken was influenced by the differences between relational database-driven applications and applications that do not have a relational database back-end. The overall research followed a sequential mixed-methods approach consisting of four research phases. First, a systematic literature review on software maintainability and its subcharacteristics prediction and metrics was conducted. Second, interviews were conducted with software practitioners to gather evidence from practice on the research topic. Third, a survey was conducted with software practitioners to rank the predictors identified from the systematic review and interviews in order of their importance to predicting maintainability of relational database-driven applications. Finally, ordinal data were gathered on maintainability and a set of 28 predictors that were selected by the survey results and three different prediction techniques were applied on the gathered data. The findings of this research suggest that in the context of relational database-driven applications there is no explicit evidence of research on maintainability prediction. In contrast, maintainability is predicted using expert judgment in practice where maintainability predictors relevant to relational database back-end are considered important. The results of applying prediction techniques on the data gathered for this research suggest Case Based Reasoning and Classification and Regression Trees as successful maintainability prediction techniques, and understandability and documentation quality as important maintainability predictors. The main conclusion of this research is that maintainability and its prediction for relational database-driven applications are different from that of applications that do not have a relational database back-end.

Description

DOI

Keywords

ANZSRC 2020 Field of Research Codes

Collections