Mahmoud O. Elish
King Fahd University of Petroleum and Minerals
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Mahmoud O. Elish.
Journal of Systems and Software | 2008
Karim O. Elish; Mahmoud O. Elish
Effective prediction of defect-prone software modules can enable software developers to focus quality assurance activities and allocate effort and resources more efficiently. Support vector machines (SVM) have been successfully applied for solving both classification and regression problems in many applications. This paper evaluates the capability of SVM in predicting defect-prone software modules and compares its prediction performance against eight statistical and machine learning models in the context of four NASA datasets. The results indicate that the prediction performance of SVM is generally better than, or at least, is competitive against the compared models.
Expert Systems With Applications | 2009
Mahmoud O. Elish
Accurate estimation of software project effort is crucial for successful management and control of a software project. Recently, multiple additive regression trees (MART) has been proposed as a novel advance in data mining that extends and improves the classification and regression trees (CART) model using stochastic gradient boosting. This paper empirically evaluates the potential of MART as a novel software effort estimation model when compared with recently published models, in terms of accuracy. The comparison is based on a well-known and respected NASA software project dataset. The results indicate that improved estimation accuracy of software project effort has been achieved using MART when compared with linear regression, radial basis function neural networks, and support vector regression models.
conference on software maintenance and reengineering | 2009
Mahmoud O. Elish; Karim O. Elish
There is an increasing interest in more accurate prediction of software maintainability in order to better manage and control software maintenance. Recently, TreeNet has been proposed as a novel advance in data mining that extends and improves the CART (classification and regression trees) model using stochastic gradient boosting. This paper empirically investigates whether the TreeNet model yields improved prediction accuracy over the recently published object-oriented software maintainability prediction models: multivariate adaptive regression splines, multivariate linear regression, support vector regression, artificial neural network, and regression tree. The results indicate that improved, or at least competitive, prediction accuracy has been achieved when applying the TreeNet model.
Advances in Engineering Software | 2011
Mahmoud O. Elish; Ali H. Al-Yafei; Muhammed Al-Mulhem
Packages are important high-level organizational units for large object-oriented systems. Package-level metrics characterize the attributes of packages such as size, complexity, and coupling. There is a need for empirical evidence to support the collection of these metrics and using them as early indicators of some important external software quality attributes. In this paper, three suites of package-level metrics (Martin, MOOD and CK) are evaluated and compared empirically in predicting the number of pre-release faults and the number of post-release faults in packages. Eclipse, one of the largest open source systems, is used as a case study. The results indicate that the prediction models that are based on Martin suite are more accurate than those that are based on MOOD and CK suites across releases of Eclipse.
european software engineering conference | 2003
Mahmoud O. Elish; David C. Rine
As changes are made to an object-oriented design, its structure and/or behavior may be affected. Modifications made to one class can have ripple effects on other classes in the design. The stability of an object-oriented design indicates its resistance to interclass propagation of changes that the design would have when it is modified There are two aspects of design stability: logical stability and performance stability. Logical stability is concerned with design structure, whereas performance stability is concerned with design behavior. In this study, the object-oriented design metrics proposed by Chidamber and Kemerer (1994) were adopted as candidate indicators of the logical stability of object-oriented designs. The objective was to investigate whether or not there are correlations between these metrics and the logical stability of classes. The experimental results indicated that WMC, DIT CBO, RFC, and LCOM metrics are negatively correlated with the logical stability of classes. However, no correlation was found between NOC metric and the logical stability of classes.
Journal of Software: Evolution and Process | 2013
Mahmoud O. Elish; Mojeeb Al-Khiaty
Software systems are subject to series of changes during their evolution as they move from one release to the next. The change histories of software systems hold useful information that describes how artifacts evolved. Evolution‐based metrics, which are the means to quantify the change history, are potentially good indicators of the changes in a software system. The objective of this paper is to derive and validate (theoretically and empirically) a set of evolution‐based metrics as potential indicators of the change‐prone classes of an object‐oriented system when moving from one release to the next. Release‐by‐release statistical prediction models were built in different ways. The results indicate that the proposed evolution‐based metrics measure different dimensions from those of typical product metrics. Additionally, several evolution‐based metrics were found to be correlated with the change‐proneness of classes. Moreover, the results indicate that more accurate prediction of class change‐proneness is achieved when the evolution‐based metrics are combined with product metrics. Copyright
international conference on program comprehension | 2010
Mahmoud O. Elish
In object-oriented designs, packages represent important high-level organization units that group classes. This paper explores the relationships between five package-level metrics and the average effort required to understand a package in object-oriented design. These metrics measure different structural properties of a package such as size, coupling and stability. A case study was conducted using eighteen packages taken from two open source software systems. Correlation, collinearity, and multivariate regression analyses were performed. The results obtained from this study indicate statistically significant correlation between most of the metrics and understandability of a package.
computational intelligence and data mining | 2009
Hamoud I. Aljamaan; Mahmoud O. Elish
Identifying faulty classes in object-oriented software is one of the important software quality assurance activities. This paper empirically investigates the application of two popular ensemble techniques (bagging and boosting) in identifying faulty classes in object-oriented software, and evaluates the extent to which these ensemble techniques offer an increase in classification accuracy over single classifiers. As base classifiers, we used multilayer perceptron, radial basis function network, bayesian belief network, nave bayes, support vector machines, and decision tree. The experiment was based on well-known and respected NASA dataset. The results indicate that bagging and boosting yield improved classification accuracy over most of the investigated single classifiers. In some cases, bagging outperforms boosting, while in some other cases, boosting outperforms bagging. However, in case of support vector machines, neither bagging nor boosting improved its classification accuracy.
international conference on information science and applications | 2013
Mawal Ali; Mahmoud O. Elish
Many different factors influence the quality of software systems. One factor is the use of design patterns. In this paper we survey the literature for the existing empirical evidence on the impact of the GoF design patterns on software quality attributes. There are two objectives of conducting this survey. The first objective is to evaluate the coverage of the empirical evidence in terms of quality attributes and in terms of design patterns. The second objective is to provide a summary of the impact of design patterns on software quality attributes. The results show that the impact of design patterns have been investigated only on four quality attributes and there is no consensus on the impact of design patterns on them. Furthermore, the results show that not all the GoF design patterns were covered in the literature.
soft computing | 2015
Mahmoud O. Elish; Hamoud I. Aljamaan; Irfan Ahmad
More accurate prediction of software maintenance effort contributes to better management and control of software maintenance. Several research studies have recently investigated the use of computational intelligence models for software maintainability prediction. The performance of these models, however, may vary from dataset to dataset. Consequently, ensemble methods have become increasingly popular as they take advantage of the capabilities of their constituent computational intelligence models toward a dataset to come up with more accurate or at least competitive prediction accuracy compared to individual models. This paper investigates and empirically evaluates different homogenous and heterogeneous ensemble methods in predicting software maintenance effort and change proneness. Three major empirical studies were designed and conducted taken into consideration different design such as the types of the investigated ensembles methods, types of prediction problems, used datasets, and other experimental setup. Overall empirical evidence obtained from the three studies confirms that some ensemble methods provide more accurate or at least competitive prediction accuracy compared to individual models across datasets, and thus they are more reliable.