Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Hamdi A. Al-Jamimi is active.

Publication


Featured researches published by Hamdi A. Al-Jamimi.


IET Software | 2013

Machine learning approaches for predicting software maintainability: a fuzzy-based transparent model

Moataz A. Ahmed; Hamdi A. Al-Jamimi

Software quality is one of the most important factors for assessing the global competitive position of any software company. Thus, the quantification of the quality parameters and integrating them into the quality models is very essential.Many attempts have been made to precisely quantify the software quality parameters using various models such as Boehms Model, McCalls Model and ISO/IEC 9126 Quality Model. A major challenge, although, is that effective quality models should consider two types of knowledge: imprecise linguistic knowledge from the experts and precise numerical knowledge from historical data.Incorporating the experts’ knowledge poses a constraint on the quality model; the model has to be transparent.In this study, the authorspropose a process for developing fuzzy logic-based transparent quality prediction models.They applied the process to a case study where Mamdani fuzzy inference engine is used to predict software maintainability.Theycompared the Mamdani-based model with other machine learning approaches.The resultsshow that the Mamdani-based model is superior to all.


international conference on information science and applications | 2013

Machine Learning-Based Software Quality Prediction Models: State of the Art

Hamdi A. Al-Jamimi; Moataz A. Ahmed

Quantification of parameters affecting the software quality is one of the important aspects of research in the field of software engineering. In this paper, we present a comprehensive literature survey of prominent quality molding studies. The survey addresses two views: (1) quantification of parameters affecting the software quality; and (2) using machine learning techniques in predicting the software quality. The paper concludes that, model transparency is a common shortcoming to all the surveyed studies.


ieee international conference on computer science and automation engineering | 2012

Prediction of software maintainability using fuzzy logic

Hamdi A. Al-Jamimi; Moataz A. Ahmed

The relationship between object oriented metrics and software maintainability is complex and non-linear. Therefore, there is considerable research interest in development and application of sophisticated techniques which can be used to build models for predicting software maintainability. However, when predicting maintainability not only product quality measurements are surrounded with imprecision and uncertainty, but also the relationships between the external and internal quality attributes suffer from imprecision and uncertainty. The reason behind that, there are at least two important sources of information for building the prediction model: historical data and human experts. Therefore, in this paper an attempt has been made to utilize the capability of fuzzy logic in handling imprecision and uncertainty to come up with an efficient maintainability prediction model. The proposed model is constructed using object-oriented metrics data in Li and Henrys datasets collected from two different object-oriented systems.


computer, information, and systems sciences, and engineering | 2010

Arabic Character Recognition Using Gabor Filters

Hamdi A. Al-Jamimi; Sabri A. Mahmoud

A technique for the Automatic recognition of Arabic characters using Gabor filters is presented. K-Nearest Neighbor (KNN) is used for classification. Although KNN is a simple classifier, the achieved recognition rates proved that Gabor filters are effective in the classification of Arabic characters. Different number of orientations and scales, resulting in 30 and 48 feature vector sizes, are used and the recognition rates compared. A high recognition rate of 99.57%.is achieved using 30 features (3 scales and 5 orientations). The results are compared with two previously published techniques using Modified Fourier Spectrum and Fourier descriptors using the same data. This technique has 2.6% and 4% higher recognitions rate than Fourier descriptors and Modified Fourier Spectrum descriptors, respectively


Journal of Software: Evolution and Process | 2013

Empirical taxonomy of refactoring methods for aspect‐oriented programming

Mohammad Alshayeb; Hamdi A. Al-Jamimi; Mahmoud O. Elish

Refactoring improves software quality by improving the design of existing code through changing its internal structure while preserving its behavior. Improving one quality attribute may impair other quality attributes. A number of refactoring methods were proposed specifically for aspect‐oriented systems. However, there are no guidelines to help aspect‐oriented software designer decide which refactoring methods to apply to optimize a software system with regard to certain design goals. In this paper, we propose a taxonomy/classification of refactoring methods for aspect‐oriented programming based on their measurable effect on software quality attributes using six open‐source aspect‐oriented software systems. Copyright


ieee region 10 conference | 2014

Knowledge acquisition in model driven development transformations: An inductive logic programming approach

Hamdi A. Al-Jamimi; Moataz A. Ahmed

Model transformation by example is a novel trend in model-driven software engineering. The rationale behind this is to utilize existing knowledge represented by source and target models of previously developed systems; such as requirements analysis and software design models, respectively. Such knowledge can be utilized to derive transformation rules to be applied in future system developments. To achieve this goal, machine learning techniques can assist in discovering and formalizing desired transformation rules. Inductive Logic Programming (ILP) represents a highly applicable machine learning technique in this context. Given a set of examples and background knowledge encoded as a set of first-order logic descriptions, an ILP system attempts to derive rules describing different transformation steps in a purely declarative way. The induced rules follow the same logical description as the given examples and background knowledge. The objective of this work is to introduce initial setup of an ILP system that can be utilized to derive analysis-design transformation rules from a set of examples that represent pairs of analysis-design models.


International Journal of Advanced Computer Science and Applications | 2017

Model Driven Development Transformations using Inductive Logic Programming

Hamdi A. Al-Jamimi; Moataz A. Ahmed

Model transformation by example is a novel approach in model-driven software engineering. The rationale behind the approach is to derive transformation rules from an initial set of interrelated source and target models; e.g., requirements analysis and software design models. The derived rules describe different transformation steps in a purely declarative way. Inductive Logic Programming utilizes the power of machine learning and the capability of logic programming to induce valid hypotheses from given examples. In this paper, we use Inductive Logic Programming to derive transformation rules from given examples of analysis-design pairs. As a proof concept, we applied the approach to two major software design tasks: class packaging and introducing Facade design. Various analysis-design model pairs collected from different sources were used as case studies. The resultant performance measures show that the approach is promising.


2017 12th International Scientific and Technical Conference on Computer Sciences and Information Technologies (CSIT) | 2017

A genetic algorithm-based ILP incremental system

Hamdi A. Al-Jamimi; Moataz A. Ahmed

Inductive learning has been employed successfully in various domains, however the inductive logic programming (ILP) systems focused on non-incremental learning tasks where independent sets of data are provided incoherently. In this paper, we propose a new genetic algorithm-based ILP system, called GAILP, for incremental learning. GAILP is a covering algorithm which extracts hypotheses/rules from a collection of examples in a reliable way. It employs a genetic algorithm technique to discover various aspects of the potential combinations. GAILP induces every possible rule for the given combination and selects the most generic ones among them. It also eliminates rules which might become obsolete by the existence of more generic rules. Unlike other ILP systems, GAILP batches all given examples and background knowledge, then it groups the examples and prioritizes the induction process. This prioritization needs to be done to preserve dependency and to revise theory. The paper introduces GAILPs fundamentals mechanisms and demonstrates its algorithms with a running example.


international conference on software engineering | 2016

Toward comprehensible software defect prediction models using fuzzy logic

Hamdi A. Al-Jamimi

Software defect prediction is a discipline that predicts the defects proneness of future modules. Software metrics are used for this kind of predication. However, the predication metrics are associated with uncertainty, thus the metrics need to be expressed in linguistic terms to overcome ambiguity and uncertainty. Two types of knowledge are utilized as input to the prediction models: software metrics and experts opinions. This paper proposes a framework for developing fuzzy logic-based software predication model using different set of software metrics. It aims to provide a generic set of metrics to be used for software defects prediction. The performance of the proposed Fuzzy-based models has been validated using real software projects data where Takagi-Sugeno fuzzy inference engine is used to predict software defects. Validation results are satisfactory.


international conference on software engineering and computer systems | 2011

Investigating the Effect of Aspect-Oriented Refactoring on Software Maintainability

Hamdi A. Al-Jamimi; Mohammad Alshayeb; Mahmoud O. Elish

Refactoring improves software quality by improving the design of existing code through changing its internal structure while preserving its behavior. A number of refactorings were proposed specifically for Aspect-Oriented (AO) systems. AO techniques are emerging to cope with the challenges of current software development and to address shortcomings of existing paradigms. Each of the proposed aspect–oriented refactorings (AOR) has a particular purpose and effect, thus their effect on software quality attribute may vary. The software maintenance activities cost lots of time and effort to be performed. In this paper, we propose a classification of AOR based on their measurable effect on software maintainability. The aim of the classification is to help the software designer and developer decide which AOR can be applied to optimize AO system with respect to maintainability.

Collaboration


Dive into the Hamdi A. Al-Jamimi's collaboration.

Top Co-Authors

Avatar

Moataz A. Ahmed

King Fahd University of Petroleum and Minerals

View shared research outputs
Top Co-Authors

Avatar

Mahmoud O. Elish

King Fahd University of Petroleum and Minerals

View shared research outputs
Top Co-Authors

Avatar

Mohammad Alshayeb

King Fahd University of Petroleum and Minerals

View shared research outputs
Top Co-Authors

Avatar

Lahouari Ghouti

King Fahd University of Petroleum and Minerals

View shared research outputs
Top Co-Authors

Avatar

Sabri A. Mahmoud

King Fahd University of Petroleum and Minerals

View shared research outputs
Top Co-Authors

Avatar

Sadam Al-Azani

King Fahd University of Petroleum and Minerals

View shared research outputs
Top Co-Authors

Avatar

Tawfik A. Saleh

King Fahd University of Petroleum and Minerals

View shared research outputs
Researchain Logo
Decentralizing Knowledge