Papers by Eslam Al Maghayreh

Applied Sciences, 2021
Automatic detection and counting of crop circles in the desert can be of great use for large-scal... more Automatic detection and counting of crop circles in the desert can be of great use for large-scale farming as it enables easy and timely management of the farming land. However, so far, the literature remains short of relevant contributions in this regard. This letter frames the crop circles detection problem within a deep learning framework. In particular, accounting for their outstanding performance in object detection, we investigate the use of Mask R-CNN (Region Based Convolutional Neural Networks) as well as YOLOv3 (You Only Look Once) models for crop circle detection in the desert. In order to quantify the performance, we build a crop circles dataset from images extracted via Google Earth over a desert area in the East Oweinat in the South-Western Desert of Egypt. The dataset totals 2511 crop circle samples. With a small training set and a relatively large test set, plausible detection rates were obtained, scoring a precision of 1 and a recall of about 0.82 for Mask R-CNN and ...

Frameworks for Refined Practice
Ensuring the correctness of a distributed program is not an easy task. Testing and formal methods... more Ensuring the correctness of a distributed program is not an easy task. Testing and formal methods can play a significant role in this regard. However, testing does not allow for formal specification of the properties to be checked. On the other hand, formal methods verify that a model of a distributed system satisfies certain properties that are formally specified. However, formal methods do not guarantee that a particular implementation of the system under consideration will also satisfy all of the necessary properties. Runtime verification tries to combine some of the advantages of testing and some of the advantages of formal methods. Runtime verification works on a particular implementation of the system and at the same time it allows us to specify the properties of interest formally. In this chapter we have talked about runtime verification of distributed programs. The main components of a runtime verification framework have been presented and discussed in some details. The reas...

A Genetic-Algorithms-Based Technique for Detecting Distributed Predicates
Research Anthology on Multi-Industry Uses of Genetic Programming and Algorithms, 2021
One of the techniques that have been used in the literature to enhance the dependability of distr... more One of the techniques that have been used in the literature to enhance the dependability of distributed applications is the detection of distributed predicates techniques (also referred to as runtime verification). These techniques are used to verify that a given run of a distributed application satisfies certain properties (specified as predicates). Due to the existence of multiple processes running concurrently, the detection of a distributed predicate can incur significant overhead. Several researchers have worked on the development of techniques to reduce the cost of detecting distributed predicates. However, most of the techniques presented in the literature work efficiently for specific classes of predicates, like conjunctive predicates. This chapter presents a technique based on genetic algorithms to efficiently detect distributed predicates under the possibly modality. Several experiments have been conducted to demonstrate the effectiveness of the proposed technique.

Many e-learning tools are currently available for using in education. E-learning tools can provid... more Many e-learning tools are currently available for using in education. E-learning tools can provide training and education to large number of students with diverse cultural backgrounds and educational levels. However, e-learning could be failed in education when overestimating what e-learning can accomplish. Some people normally do not understand the weaknesses and limitations of e-learning and some of them may expect too much. In this paper, we review the different e-learning tools such as MOODLE, and Blackboard. We also comment on the most important aims of each tool and analyze the advantages and disadvantages. From this analysis we obtain a global view of the current and future tendencies of e-learning tools and therefore we provide possible important comments for using e-learning tools such as MOODLE in the classroom. Upon to our teaching experience, MOODLE is effective in the e-learning development. Authors and practitioners showed a greater preference for MOODLE over Blackboar...

International Journal of Applied Metaheuristic Computing, 2013
Harmony search algorithm (HSA) is a recent evolutionary algorithm used to solve several optimizat... more Harmony search algorithm (HSA) is a recent evolutionary algorithm used to solve several optimization problems. The algorithm mimics the improvisation behaviour of a group of musicians to find a good harmony. Several variations of HSA have been proposed to enhance its performance. In this paper, a new variation of HSA that uses multi-parent crossover is proposed (HSA-MPC). In this technique three harmonies are used to generate three new harmonies that will replace the worst three solution vectors in the harmony memory (HM). The algorithm has been applied to solve a set of eight real world numerical optimization problems (1-8) introduced for IEEE-CEC2011 evolutionary algorithm competition. The experimental results of the proposed algorithm are compared with the original HSA, and two variations of HSA: global best HSA and tournament HSA. The HSA-MPC almost always shows superiority on all test problems.
International Journal of Information Technology and Web Engineering, 2011
In this paper, the authors propose a novel approach to search and retrieve authoring information ... more In this paper, the authors propose a novel approach to search and retrieve authoring information from online authoring databases. The proposed approach combines keywords and semantic-based methods. In this approach, the user can retrieve such information considering some specified keywords and ignore how the internal semantic search is being processed. The keywords entered by the user are internally converted by the system to a semantic query that will be used to search the requested information. The authors then use (X)HTML-based templates for the automatic construction of BibTeX elements from the query results.
The design of RIA accessibility evaluation tool
Advances in Engineering Software, 2013
Most of the accessibility evaluation tools available check the accessibility of static traditiona... more Most of the accessibility evaluation tools available check the accessibility of static traditional web pages (e.g., web pages encoded with only HTML) according to the accessibility guidelines (e.g., WCAG). There is an increased need to check the accessibility of Rich Internet Applications (RIAs) using automatic tools. In this paper, we present a conceptual framework for automatic evaluation of accessibility of rich Internet contents. The framework includes: web robot, RIA events controller, WAI-ARIA accessibility specifications, evaluator, and results handler. An example to demonstrate how the framework can be applied has been presented in detail.
Artificial Bee Colony (ABC) is a swarm-based metaheuristic for continuous optimization. Recent wo... more Artificial Bee Colony (ABC) is a swarm-based metaheuristic for continuous optimization. Recent work hybridized this algorithm with other metaheuristics in order to improve performance. The work in this paper, experimentally evaluates the use of different mutation operators with the ABC algorithm. The introduced operator is activated according to a determined probability called mutation rate (MR). The results on standard benchmark function suggest that the use of this operator improves performance in terms of convergence speed and quality of final obtained solution. It shows that Power and Polynomial mutations give best results. The fastest convergence was for the mutation rate value (MR=0.2).

Abstract: In software projects, one of the main challenges and sources of success or failure is t... more Abstract: In software projects, one of the main challenges and sources of success or failure is the effective use of available resources. Using effective techniques in regression testing is important to reduce the amount of required resources. This is accomplished through reducing the number of executed test cases without affecting coverage. In this research, genetic algorithms and optimization theory concepts are applied on test case generation and reduction optimization. The methods start by generating an initial pool of test cases through selecting valid paths in the GUI graph that is generated from the tested software dynamically using an in-house developed tool. The selected test cases are then improved through measuring and evaluating fitness functions. The two fitness functions used in this research were the test set generation speed and the test set coverage. Optimization theory is also used to find the best set, measured according to a particular fitness function that can b...

Contrasting YOLOv5, Transformer, and EfficientDet Detectors for Crop Circle Detection in Desert
IEEE Geoscience and Remote Sensing Letters, 2021
Ongoing discoveries of water reserves have fostered an increasing adoption of crop circles in the... more Ongoing discoveries of water reserves have fostered an increasing adoption of crop circles in the desert in several countries. Automatically quantifying and surveying the layout of crop circles in remote areas can be of great use for stakeholders in managing the expansion of the farming land. This letter compares latest deep learning models for crop circle detection and counting, namely Detection Transformers, EfficientDet and YOLOv5 are evaluated. To this end, we build two datasets, via Google Earth Pro, corresponding to two large crop circle hot spots in Egypt and Saudi Arabia. The images were drawn at an altitude of 20 km above the targets. The models are assessed in within-domain and cross-domain scenarios, and yielded plausible detection potential and inference response.

A Simulated Annealing Based Algorithm for Detecting Distributed Predicates
2017 International Conference on Computational Science and Computational Intelligence (CSCI), 2017
Improving the dependability of distributed applications is a challenging task. Distributed predic... more Improving the dependability of distributed applications is a challenging task. Distributed predicates detection techniques (runtime verification) can help a lot in this regard by verifying that a given run of a distributed application satisfies certain properties (formally modeled as predicates). In general, these techniques can be exploited in the verification of the correctness of a particular implementation of a distributed system. In any distributed application, several processes are usually running concurrently. Consequently, the number of global states to be considered by the detection techniques is exponential (NP-Complete problem). In this paper, we have investigated the effectiveness of using a meta-heuristic algorithm in solving the problem of detecting distributed predicates. Namely, we have used the simulated annealing (SA) algorithm to develop an algorithm to detect distributed predicates. The results of the experiments demonstrate that the SA-based detection technique ...

Block-based Atomicity in Message-passing Distributed Programs
In this paper, we have studied the notion of atomicity in message-passing distributed programs. T... more In this paper, we have studied the notion of atomicity in message-passing distributed programs. The difference between the notion of atomicity in shared memory programs and messagepassing programs has been discussed in detail. Due to the nature of communication in messagepassing programs, the atomicity requirement in shared memory programs (serializability) does not guarantee the same level of atomicity in message-passing programs. We have referred to the atomicity level guaranteed by the serializability requirement in message-passing programs as the weak atomicity. We have defined the requirements that guarantee a level of atomicity in message-passing programs similar to that in shared memory programs. We have referred to it as the strong atomicity requirement. Both of weak and strong atomicity have been formally defined. The notion of atomicity can be employed to significantly reduce the state space to be considered in verification. Moreover, atomicity violations in a run typicall...

IEEE Access
Contrast enhancement is important and plays vital role in many applications. Histogram equalizati... more Contrast enhancement is important and plays vital role in many applications. Histogram equalization-based techniques are widely used techniques for contrast enhancement. However, it faces the contrast over-stretching, which in return causes the loss of details and unnatural look to the target image. To address this issue, this work presents a novel scheme for image contrast enhancement. The contribution of the proposed scheme is twofold. First, the image can lose many important information when an image size is decreased. For that, the image is transformed from spatial to wavelet domain so that the multi-resolution can be achieved. Second, Gamma correction is a proven technique that produces natural look and preserves mean brightness of an image with the choice of optimal gamma values. Here, Particle Swarm Optimization (PSO) is utilized to select the optimal gamma values. In this study, an effective fitness function is proposed to maximize the performance of PSO. Experimental findings show that the proposed approach improve the image contrast up to a greater extent without introducing any artifacts. INDEX TERMS Brightness preservation, contrast enhancement, gamma correction, particle swarm optimization, wavelet domain.
On-the-Fly Agent-Based Distributed Shared State Monitoring

Computers, Materials & Continua
The fast spread of coronavirus disease (COVID-19) caused by SARS-CoV-2 has become a pandemic and ... more The fast spread of coronavirus disease (COVID-19) caused by SARS-CoV-2 has become a pandemic and a serious threat to the world. As of May 30, 2020, this disease had infected more than 6 million people globally, with hundreds of thousands of deaths. Therefore, there is an urgent need to predict confirmed cases so as to analyze the impact of COVID-19 and practice readiness in healthcare systems. This study uses gradient boosting regression (GBR) to build a trained model to predict the daily total confirmed cases of COVID-19. The GBR method can minimize the loss function of the training process and create a single strong learner from weak learners. Experiments are conducted on a dataset of daily confirmed COVID-19 cases from January 22, 2020, to May 30, 2020. The results are evaluated on a set of evaluation performance measures using 10-fold cross-validation to demonstrate the effectiveness of the GBR method. The results reveal that the GBR model achieves 0.00686 root mean square error, the lowest among several comparative models.
BioMed Research International

BioMed Research International
Breast cancer is the most diagnosed cancer among women around the world. The development of compu... more Breast cancer is the most diagnosed cancer among women around the world. The development of computer-aided diagnosis tools is essential to help pathologists to accurately interpret and discriminate between malignant and benign tumors. This paper proposes the development of an automated proliferative breast lesion diagnosis based on machine-learning algorithms. We used Tabu search to select the most significant features. The evaluation of the feature is based on the dependency degree of each attribute in the rough set. The categorization of reduced features was built using five machine-learning algorithms. The proposed models were applied to the BIDMC-MGH and Wisconsin Diagnostic Breast Cancer datasets. The performance measures of the used models were evaluated owing to five criteria. The top performing models were AdaBoost and logistic regression. Comparisons with others works prove the efficiency of the proposed method for superior diagnosis of breast cancer against the reviewed cl...

Journal of Healthcare Engineering
There have been several empirical studies addressing breast cancer using machine learning and sof... more There have been several empirical studies addressing breast cancer using machine learning and soft computing techniques. Many claim that their algorithms are faster, easier, or more accurate than others are. This study is based on genetic programming and machine learning algorithms that aim to construct a system to accurately differentiate between benign and malignant breast tumors. The aim of this study was to optimize the learning algorithm. In this context, we applied the genetic programming technique to select the best features and perfect parameter values of the machine learning classifiers. The performance of the proposed method was based on sensitivity, specificity, precision, accuracy, and the roc curves. The present study proves that genetic programming can automatically find the best model by combining feature preprocessing methods and classifier algorithms.

International Journal of Distributed Systems and Technologies
Developing correct dependable distributed applications is a difficult task. The techniques develo... more Developing correct dependable distributed applications is a difficult task. The techniques developed to detect distributed predicates can be used to verify the satisfaction of specific properties (represented as predicates) in a given run of a distributed application. These techniques have several applications including the verification of the correctness of a particular implementation of a distributed system (runtime verification). Due to concurrency, the number of states to be considered in detecting a distributed predicate is exponential. This article investigates the effectiveness of using a meta-heuristic algorithm in solving the problem of detecting distributed predicates. Namely, the authors have used the Artificial Bee Colony algorithm to develop an algorithm to detect distributed predicates. The conducted experiments demonstrate that the ABC-based detection algorithm has a better performance compared with the traditional state enumeration-based detection algorithm.
Ijacsa, 2012
Detection of distributed predicates (also referred to as runtime verification) can be used to ver... more Detection of distributed predicates (also referred to as runtime verification) can be used to verify that a particular run of a given distributed program satisfies certain properties (represented as predicates). Consequently, distributed predicates detection techniques can be used to effectively improve the dependability of a given distributed application. Due to concurrency, the detection of distributed predicates can incur significant overhead. Most of the effective techniques developed to solve this problem work efficiently for certain classes of predicates, like conjunctive predicates. In this paper, we have presented a technique based on harmony search to efficiently detect the satisfaction of a predicate under the possibly modality. We have implemented the proposed technique and we have conducted several experiments to demonstrate its effectiveness.
Uploads
Papers by Eslam Al Maghayreh