Please use this identifier to cite or link to this item:
|Title:||Software reliability prediction of mobile applications using machine learning techniques||Authors:||Hoosen, Sumaya||Keywords:||Software reliability;Mobile apps;Machine learning;Reliability prediction;Machine learning algorithms;Feature Selection||Issue Date:||30-Apr-2021||Abstract:||
Software reliability is an important aspect for evaluating the quality of a software product. In a growing global software industry of increasingly complex systems, reliability becomes crucial urging software engineers to strive toward the development of failure free software and to ensure high reliability before delivery. This positions software reliability as one of the key attributes required to achieve high quality software products. In response to this stature, software companies invest considerable resources boosting apps development into a multi-billion Rand global industry. In recent times smart devices are established as one of the most used electronic device with apps being the more popular medium for bringing a multitude of functionalities to a wide user base. However, current literature portrays a far from ideal reliability rate for apps. Despite the availability of a wide range of approaches focused on improved reliability these mostly remain cumbersome and costly to implement from a software management perspective. Hence, there is a need to investigate approaches beyond current dominant thinking that underpins reliability measurements in the mobile app development space. At the same time, Machine Learning (ML) is a recent recipient of much attention from researchers and practitioners that offers a bouquet of tools and techniques that when applied correctly could potentially improve reliability prediction. In line with the above, the overall aim of this study is to provide a ML modelling approach to assist with the reliability prediction of mobile apps. It is hoped that the findings of this study may provide a useful ML modelling approach to help developers increase the reliability rates of apps. For this study ML techniques were applied to 3 feature sets of data extracted from the Eclipse JDT core dataset. These feature sets based on software systems and their histories, include the source code metrics set, process metric sets, and a combination of both metric sets. All metric sets went through stages of data cleaning and pre-processing before they were modelled using five machine learning algorithms, namely, Random Forest, Support Vector Machine, Naïve Bayes, Decision Trees and Neural Networks. During the modelling process, all the results were evaluated using ML evaluation scores to determine which ML modelling approach is most useful for reliability prediction. The results indicate that Random Forest generated better results in all cases and can be used for predicting app reliability since it predicted reliability more accurately and precisely compared to the other ML algorithms. Random Forest also achieved the highest evaluation score when it was applied to the combined metric set of data. This means that the modelling approach of applying Random Forest to a combination
of source code and process metrics generated the highest prediction performance. This further implies that developers should consider these selected features within the combined metric set, as they could serve as useful indicators for predicting reliability of apps.
Submitted in fulfilment of the requirements for the Masters Degree of Information and Communications Technology, Durban University of Technology, Durban, South Africa, 2021.
|Appears in Collections:||Theses and dissertations (Accounting and Informatics)|
Show full item record
checked on May 23, 2022
checked on May 23, 2022
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.