Staff

  • Ayman Hussien Odeh, M.Sc

Ayman Hussien Odeh, M.Sc

Instructor

Al Ain Campus

Education

  • M.S. Software Engineering, Military Technical College, Cairo, Egypt
  • Postgraduate Diploma, Assad Academy for Military Engineering, Aleppo, Syria
  • B.S. S.M. Kirov Kiev Antiaircraft Missile Engineering College, Kiev, USSR

Research Interests

  • Software quality assurance
  • Artificial Intelligent
  • Deep Learning
  • Machine Learning
  • Web-based programming
  • and SCADA automation system.

 

Selected Publications

Teaching Courses

  • Introduction to programming – Java, Python, C++
  • Object Oriented Programming (using Java)
  • Computer Ethics
  • Data Structure and Algorithms
  • Design and Analysis of Algorithms
  • Object-oriented analysis and design.
  • Foundation of Software Engineering
  • Software Design and Development.
  • Web Design and Development
  • Formal Specification and Design Methods
  • Computer Skills
  • Science and Life

 

Memberships:

IEEE

Internet Society.

 

Expertise related to UN Sustainable Development Goals

In 2015, UN member states agreed to 17 global Sustainable Development Goals (SDGs) to end poverty, protect the planet and ensure prosperity for all.

This person’s work contributes towards the following SDG(s):

 

OpenCV and Its Applications in Artificial Intelligent Systems

Published in: International Conference On Intelligent Computing, Communications, Networking And Services (ICCNS2024), DUBROVNIK, CROATIA

Sep 26, 2024

/ Ayman Odeh Nada Odeh

This paper explores the utilization of OpenCV (Open-Source Computer Vision Library) in artificial intelligence (AI) systems, elucidating its pivotal role in advancing various applications across diverse domains. OpenCV, renowned for its comprehensive functionalities and real-time processing capabilities, has become instrumental in tasks such as object detection, facial recognition, and image processing. However, despite its widespread adoption, there remains a need for a thorough examination of its integration within AI frameworks and the optimization of its functionalities. Through a comprehensive analysis, this study delineates the advantages, limitations, and potential areas for improvement of OpenCV in AI applications. Case studies exemplifying its efficacy in object detection, facial recognition, and autonomous systems further elucidate its practical implications. By delving into these aspects, this paper not only underscores the significance of OpenCV in AI but also provides valuable insights for researchers, developers, and practitioners aiming to leverage its capabilities in their endeavors. This study collectively underscores the significant role of OpenCV in enhancing the capabilities of AI systems.


Unmasking deepfakes: Advances in fake video detection

Published in: Revue d'Intelligence Artificielle

Jul 01, 2024

/ Ayman Odeh

Deepfakes, hyper-realistic synthetic media created using artificial intelligence, pose a growing threat to trust in information and online interactions, serious challenge to the integrity of digital content. This paper delves into the evolving landscape of deepfake detection. Our primary objectives are analyzing the techniques used to detect fake videos, tracing their development alongside the advancements in deep learning that enable increasingly sophisticated deepfakes, assessing societal impact by investigating the social, political, and psychological implications of deepfakes. This includes exploring how they can manipulate public perception and potentially disrupt societal harmony and evaluating detection methods used for fake video detection. Through a comparative analysis, we evaluate their effectiveness, identify limitations, and highlight potential areas for improvement. By examining both the detection methods and the evolving nature of deepfakes, this paper aims to provide a comprehensive understanding of this critical challenge. Through this analysis, we hope to contribute to the development of more robust solutions for identifying and mitigating the negative impacts of deepfakes. Finally, we are trying to contribute to a deeper understanding of the dynamic challenges posed by deepfake videos and inform strategies to fortify the digital ecosystem against malicious content.


Exploring Ai Innovations in Automated Software Source Code Generation: Progress, Hurdles, And Future Paths

Published in: Informatica

Jun 01, 2024

/ Ayman Odeh

Artificial Intelligence (AI), as one of the most important fields of computer science, plays a significant role in the software development life cycle process, especially in the implementation phase, where developers require considerable effort to convert software requirements and design into code. Automated Code Generation (ACG) using AI can help in this phase. Automating the code generation process is becoming increasingly popular as a solution to address various software development challenges and increase productivity. In this work, we provide a comprehensive review and discussion of traditional and AI techniques used for ACG, their challenges, and limitations. By analyzing a selection of related studies, we will identify all AI methods and algorithms used for ACG, extracting the evaluation metrics and criteria such as Accuracy, Efficiency, Scalability, Generalization, Correctness, and more. These criteria will be used to perform a comparative result for AI methods used for ACG, exploring their applications, strengths, weaknesses, performance, and future applications


A Comparative Review of AI Techniques for Automated Code Generation in Software Development: Advancements, Challenges, and Future Directions.

Published in: TEM Journal

Apr 01, 2024

Ayman Odeh Nada Odeh

–Artificial Intelligence (AI), as one of the most important fields of computer science, plays a significant role in the software development life cycle process, especially in the implementation phase, where developers require considerable effort to convert software requirements and design into code. Automated Code Generation (ACG) using AI can help in this phase. Automating the code generation process is becoming increasingly popular as a solution to address various software development challenges and increase productivity. In this work, we provide a comprehensive review and discussion of traditional and AI techniques used for ACG, their challenges, and limitations. By analysing a selection of related studies, we will identify all AI methods and algorithms used for ACG, extracting the evaluation metrics and criteria such as Accuracy, Efficiency, Scalability, Correctness, Generalization, and more. These criteria will be used to perform a comparative result for AI methods used for ACG, exploring their applications, strengths, weaknesses, performance, and future applications


Measuring cyclomatic complexity of source code using machine learning.

Published in: Revue d'Intelligence Artificielle

Apr 01, 2024

/ Ayman Odeh Munther Odeh Hussein Odeh Nada Odeh

High-performance, high-quality software is a fundamental goal for all developers. To achieve this, software needs to be built with exceptional quality, featuring a simplified structure, strong coherence, and minimized complexity. Cyclomatic Complexity (CC), critical software metric, quantifies the intricacy of a program's structure and control flow. Traditionally, CC measurement has relied on laborious manual techniques or conventional programming methods, both prone to errors and inefficiency. To overcome these limitations, we present a revolutionary approach that leverages a Multinomial Naive Bayes (MNB) machine learning (ML) algorithm for automated CC measurement. This innovative method offers a more accurate, efficient, and reliable means of software complexity evaluation. Our study utilizes a vast dataset of 3,598 carefully curated programming samples from diverse programming projects across three popular languages: Java, Python, and C++. Training our MNB model on this comprehensive and diverse dataset yielded an outstanding overall accuracy of 97.3%, demonstrating the efficacy and reliability of our approach for CC measurement across different programming languages (PLs). This success can be attributed to the utilization of the NBM learning algorithm, known for its proficiency in classification tasks. Additionally, our study benefits from a larger and more diverse dataset compared to prior research, potentially contributing to the superior results. Our novel approach to CC measurement using machine learning holds significant promise for the development of more accurate and reliable code complexity assessment tools. These encouraging findings suggest that this approach has the potential to shape more effective software development practices in the future.


AI Methods Used for Spam Detection in Social Systems – an overview

Published in: The 10th International Conference on Social Networks Analysis, Management and Security (SNAMS-2023)

Nov 23, 2023

/ Ayman Odeh Mohammad Al-Hattab

Over the past few years, AI has emerged as a formidable asset in the battle against spam. AI approaches have demonstrated their potential in improving spam detection in social systems. The importance of AI methods lies in their flexibility and ability to identify patterns, rendering them highly suitable for addressing the ever-changing characteristics of spam. In this paper, we provide an overview of all AI methods and algorithms used for spam detection in social systems, and evaluation of their performance in terms of used metrics such as accuracy, recall, precision, and F1-score. Also, we provide a comparative analysis of the used AI methods, challenges and limitations, emerging trends and future research directions, and privacy concerns in AI-driven spam detection in social systems. This paper emphasizes the significance of AI Methods in the realm of spam detection and investigates a range of AI-driven strategies that have been suggested and put into practice to combat spam with efficacy.


Enhancement Of Pre-Trained Deep Learning Models To Improve Brain Tumor Classification

Published in: Informatica

Oct 01, 2023

Zaka Ullah Ayman Odeh Muath Al Hasan

The early detection of brain tumors is crucial due to their highly dangerous nature and the potential for life-threatening consequences if left undiagnosed. Brain tumors significantly shorten life expectancy and cause extensive damage. To accurately diagnose brain tumors, medical imaging techniques such as MRI and other diagnostic tests play a vital role in the classification process. Artificial intelligence, specifically deep learning and computer vision, offers valuable techniques for detecting and classifying brain tumors. In this research, our focus is on developing an improved methodology for brain tumor classification. We implemented a proposed model using five pre-trained models: CNN, ResNet101, InceptionV3, VGG16, and VGG19. By employing data augmentation techniques, we enhanced their performance. The achieved Precision, Recall, and F1-Measure for unseen images were 95%, 95%, 95%, 97%, and 95%, respectively, as tested using three open datasets. Furthermore, aside from improving early tumor detection, these accuracy improvements have the potential to reduce disabilities such as paralysis. Data augmentation, accomplished through image rotation, scaling, and flipping, proves to be an effective means of enhancing model performance by generating new images with improved quality


Machine Learning Model for Measuring Cyclomatic Complexity of Source Code

Published in: International Conference On Intelligent Computing, Communications, Networking And Services (ICCNS2023)

Jun 20, 2023

Ayman Odeh Munther Odeh and Nada Odeh

Software developers strive to build high-performance and quality software with a very high degree of coherence among its components, simplified structure, and reduced complexity. A cyclomatic complexity measure is used to identify areas of code that are difficult to maintain or debug by determining how many independent paths, conditional and iteration statements there are through the source code. Using AI, it is possible to estimate and measure the cyclomatic complexity of source code by analyzing the structure of the code and identifying any potential areas where complexity could arise. This research aims to utilize deep learning methodologies, specifically for text classification, to measure the Cyclomatic Complexity of source code, it presents a method for measuring source code Cyclomatic Complexity using Multinomial Naive Bayes Machine Learning Model trained on 3270 samples collected from programs written in Python, Java, and C++. The results show an average accuracy of 96% and precision, recall, and f1-score were calculated for different levels of complexity.


Using natural language processing for programming language code classification with Multinomial Naive Bayes

Published in: Revue d'Intelligence Artificielle

Jun 01, 2023

/ Ayman Odeh Munther Odeh Hussein Odeh Nada Odeh

Classifying Programming Languages scripts is very important task for several reasons such as: automated analysis, code maintenance, code search, quality assurance, and code understanding; this process is similar to processing natural languages, especially high-level languages like Python, Java, C#, C, C++, PHP, JavaScript, and others. Leveraging natural language processing concepts, this research explores the application of the Multinomial Naïve Bayes (MNB) algorithm to identify and classify programming languages used in source code files. MNB is a relatively simple and fast algorithm for text classification. The study utilizes a dataset comprising 12 programming languages and consists of 12,003 samples, totaling 396,090 lines of code. The MNB algorithm is trained on this diverse dataset, and its performance in classifying programming language source code is evaluated. The results of the study demonstrate an impressive accuracy rate of 95.09% in accurately identifying and classifying programming languages. This high accuracy highlights the effectiveness of the applied NLP techniques, specifically the MNB algorithm, in the classification task. The findings of this research have significant implications for multi-programming language editors such as Visual Studio Code and Notepad+ or any programming editor. With the automatic recognition of programming languages enabled by this approach, users can conveniently paste source code into these editors, and the system will automatically identify and classify the programming language being used. This functionality enhances the user experience and streamlines the coding process, particularly in multi-language development environments


Using Multinomial Naïve Bayes Machine Learning Method to Classify, Detect and Recognize Programming Language Source Code,

Published in: International Arab Conference on Information Technology (ACIT'2022)

Nov 22, 2022

Ayman Odeh Munther Odeh and Nada Odeh

Processing programming languages are very similar to processing natural languages, especially high-level languages such as Python, Java, C#, C, C++, and others. Therefore, the natural language processing concepts can be applied as one of the most important branches of artificial intelligence in detecting, recognizing, and classification scripts written in different programming languages. The programming language script classification can be counted as a classical machine learning problem. This research aims to present a model using Multinomial Naïve Bayes (MNB) artificial intelligence algorithm to identify and classify the programming language used in writing the source code file provided as an input for the proposed model. A set of categorized files containing source codes will be used in training the proposed model, and then the model will be able to automatically detect and classify a new script into one of the already trained categories. The machine learning method called NB Multinomial will be used to implement this matter. This work is very important for Mufti-programming language editors such as Visual Studio Code, Notepad+, and others, where the user can paste the source code, and the editor will recognize the programming language automatically.


Hand-written text recognition methods: Review study.

Published in: Revue d'Intelligence Artificielle

Apr 01, 2022

Ayman Odeh Munther Odeh Hussein Odeh Nada Odeh

The great and rapid development of information technology, Artificial Intelligent, and its daily uses in all areas of our life, requires keeping up with distinguished software tools especially those used in data entry. The handwritten text is an important example to speed up the process of using any software. Researchers around the world provided many techniques to convert handwritten text into an understandable form for the computer system. This paper provides a study about used methods and approaches for Handwritten Text Recognition (HTR), and general overview of the properties of HTR approaches, and the advantages and disadvantages of each one.


Increasing the efficiency of online healthcare services software and mobile applications using artificial intelligence technology

Published in: International Journal on “Technical and Physical Problems of Engineering” (IJTPE)

Jan 01, 2020

Ayman Odeh Munther Odeh

The demand for online service applications related to our daily life increases greatly, especially those related to the field of healthcare services, and the importance of these applications during epidemic times rises significantly. This research deals with one of the inquiries correlated to making appointments in hospitals and health centers, as well as providing initial advice to the patient regarding the appropriate doctor, and the primary diagnosis of the disease using artificial intelligence techniques. All this by developing a software system and mobile application, therefore the users (the patients or who is responsible for them) can obtain these services as quickly as possible and in high quality and without even friction with anyone else. This leads to an increase in the effectiveness of these applications in times of epidemics and disease outbreaks. The proposed software system consists of two main components: The first one is responsible for searching for the right doctors and making an appointment with them, the right doctors are in the highest evaluation, with their best reputation and performance in their fields of competence. The second part is an expert system equipped with an inference engine that can, through a set of questions, provide diagnostic suggestions according to the patient’s case, which will result in booking an appointment through the first part after the patient confirms the appropriate choice


Medical patient appointments management using smart software system in UAE

Published in: International Arab Conference on Information Technology (ACIT'2019) , Al- Ain

Dec 03, 2019

Ayman Odeh Raghad Abdelhadi and Hussein Odeh

Taking an appointment means go to the medical center, asking about the suitable doctor for your case, spend a lot of time, or make a phone call, or take an appointment with general doctor, after that let he/she decide to which specialists you have to go; it is very long, and boring process. The main aim of this research is supporting Smart Cities Approach in UAE by designing and implementing system and mobile application “Mwa3edk” to add new concepts for the process of taking appointments with doctors in hospitals and medical clinics by transferring this process into the online world technology. This system will be able to connect a huge number of hospitals and clinics with users over UAE; and enable people to look for doctors in different locations and take appointments that suite them. In addition, users can describe their symptoms then the application will give them recommendations according to what they described using the embedded artificial intelligent method, this will help users to avoid one step, where they can take appointment directly with a specialized doctor instead of meeting the general doctor first


Analytical and Comparison Study of Main Web Programming Languages ASP and PHP

Published in: TEM JOURNAL - Technology, Education, Management, Informatics

Nov 30, 2019

Ayman Odeh

Web applications are growing and websites numbers are increasing, as well. At the same time the requirements on quality and performance are also increasing on the web application development. Every day new programming tools are appearing in the market. All of these issues are affecting the software development including web and mobile applications. This paper tries to provide helpful information for the web developers by means of making analytical comparison between two of the most important web programming languages – PHP and ASP as dynamic server-side scripting languages.


Online Course File Management System

Published in: International Journal of Simulation- Systems, Science and Technology

Apr 01, 2019

In the university education process, everything is going to be online, exams, course materials, presentations, assignments, projects, and all types of quizzes; Course file is one of the most important resources used by academic staff, it takes big effort each semester to collect its components: syllabus, teaching materials, assignments, exams, and other components; it must be ready at end of semester to be checked, and transferred to use for next semester, or to be checked by management or by reviewer during academic program renewing process, or for applying for international accreditation. This work provides an online system to help academic staff for preparing and organizing course files, and storing them in an electronic form using very simple and fast process.


Modeling of solar thermal cooling system in Hatta-Dubai

Published in: 2018 5th International Conference on Renewable Energy: Generation and Applications (ICREGA)

Oct 15, 2018

The use of solar power to provide cooling requirements is the most appropriate solution for UAE. In this paper, two cooling systems were designed and modelled using TRNSYS. Both systems are similar to each other with one difference which is the chiller type. Absorption & Adsorption chillers were used and both of them use hot water as a fuel which is provided to them by the evacuated tubes solar collector. The cooling load of the case study villa is 11.8kW. The results showed that the absorption chiller has a COP of 0.6 while the adsorption chiller has a COP of 0.4. The solar collector area required in case of absorption and adsorption was 48m2, 64m2 respectively. The cooling effect extracted from Absorption chiller was slightly less than the one extracted from Adsorption chiller. However, both systems were able to provide the cooling load required by the case study villa located in Hatta-Dubai with an area of 330m2 and a total volume of 1337m3, to maintain an average room temperature of 23o C.


SOURCE CODE POTENTIAL ERRORS AND SOFTWARE QUALITY

Published in: International Journal of Mechanical Engineering and Technology (IJMET)

Oct 10, 2017

Software developers and programmers of the computer language require large instruction for changing the source code. The purpose of this study is to analyze and measure the negative effects of source code potential errors on the quality of source code. This research is significant because many software developers are having a lot of trouble in amending source code through which quality of source code affected by different potential errors. This study focuses on the assessment of possible source code errors as source code quality has a big impact. The researcher chooses the quantitative method of this study because the research study required digital data or information. In order to analyze the data in digital form, the researcher chooses survey analysis techniques, which do not take much time. Researcher has selected 45 software developers and programmers as research participants, who have a good knowledge of the source code and their errors. The overall results of the survey analysis were satisfactory because the maximum number of respondents was satisfied with these problems of source code.


Software Effort and Cost Estimation using Software Requirement Specification

Published in: International Journal of Computational Engineering Science 18(1):2230-7893

Jan 01, 2015

Process of estimating the effort required for the software development process is difficult and very complicated. There are many techniques to estimate the effort and cost of producing software, this article is based on a correct reading and mathematical analysis of the software problem, extract the variables needed as input and output for the required software, and applying the Software Science Metrics on the variables and their relationship to estimate unique and used operators and operators. Finally depending on these metric calculate the size and the time and effort ... etc. expected to produce software.


Recruiting a Quality Software Developer

Published in: Wulfenia

May 01, 2013

Developing quality software is the main concerned of software houses and organizations as well as for clients who are demanding software applications for their business needs. Same way it is also concerned of software houses and organizations to recruit highly qualified software developers for their teams. This paper will introduce “System for Measuring Source Code Quality Assurance (SMSCQA)”, which will enable the software houses and organizations to recruit best qualified software developers. Experimental results based on five programmers programs will be analyzed and finally conclusion of these experimental results along with future work will be discussed.


SMSCQA: System for Measuring Source Code Quality Assurance

Published in: International Journal of Computer Applications

Dec 01, 2012

Today software systems play a critical role in various aspects of human life, and become part of everyday life. Many of these systems are essential for the completion of day-to-day activities. The increased reliance on computer applications, and organization that produced software puts more and more strain on software developers and software systems itself. For these reasons many international standards, requirements, and constrains were established to assure quality of software. In this work the most important fundamentals of software quality assurance used during life cycle development process (LCDP) will be covered. Specially that used in coding phase. This phase is a very important period for all software, because the cure of software system will be established here. Therefore it was sliced in detailes, and all of its aspects were recovered like: Software metrics, Software quality factors, and software quality models like McCall's model, Boehm's model, ISO 9126 model, and SATC NASA model. By comparing and studying these models the System for Measuring Source Code Quality Assurance was retrieved. Using this system over 30 source code metrics, 9 quality factors can be measured and overall quality might be calculated


Copyright © 2024 Al Ain University. All Rights Reserved.