
Walid AbdelmoezArab Academy for Science, Technology, and Maritime Transport | AAST · College of Computing and Information Technology
Walid Abdelmoez
PhD Computer Engineering
About
56
Publications
55,928
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
863
Citations
Introduction
Publications
Publications (56)
Software engineering is a comprehensive process that requires developers and team members to collaborate across multiple tasks. In software testing, bug triaging is a tedious and time-consuming process. Assigning bugs to the appropriate developers can save time and maintain their motivation. However, without knowledge about a bug’s class, triaging...
Using the data logged during the execution of business
processes, process mining techniques can be utilized to examine
those processes. These methods are used in a variety of fields,
including healthcare, where they are primarily used to analyze
organizational, diagnostic, and therapeutic processes. The
organization is able to verify the effec...
The lack of research devoted to assessing the deep learning ‘DL’ quantitative trading ‘QT’ models performance, in general, and the Egyptian Exchange (EGX) stock market, in particular, are the main motivation for this research. Accordingly, three different DL techniques (suitable to forecast the financial time series data) are implemented as the und...
Stock portfolio construction is a difficult task which involves the simultaneous consideration of dynamic financial data as well as investment criteria (e.g.: investors required return, risk tolerance, goals, and time frame). The objective of this research is to present a two phase deep learning module to csonstruct a financial stocks portfolio tha...
Abstract. Enterprise Governance of IT is an important topic for academics and practitioners in the context of achieving enterprise goals while optimizing resource utilization and risk management. EGIT is playing a critical role in developing countries as resources are rare and risk levels are higher. There is a need for EGIT Maturity Models in Midd...
Bioinformatics is a branch of science that uses computers, algorithms, and databases to solve biological problems. To achieve more accurate results, researchers need to use large and complex datasets. Sequence alignment is a well-known field of bioinformatics that allows the comparison of different genomic sequences. The comparative genomics field...
Automated trading is one of the research areas that has benefited from the recent success of deep reinforcement learning (DRL) in solving complex decision-making problems. Despite the large number of researches done, casting the stock trading problem in a DRL framework still remains an open research area due to many reasons, including dynamic extra...
Test-suite minimization problem is an essential problem in software engineering as its application helps to improve the software quality. This paper proposes a quantum algorithm to solve the test-suite minimization problem with high probability in $$O\left({\sqrt {{2^n}} } \right)$$O2n, where $$n$$n is the number of test cases. It generates an inco...
Test Suite Minimization problem is a nondeterministic polynomial time (NP) complete problem insoftware engineering that has a special importance in software testing. In this problem, a subset with a minimalsize that contains a number of test cases that cover all the test requirements should be found. A bruteforceapproach to solving this problem is...
Software Product Lines SPL are gaining importance in the software development field. Evaluating the quality attributes for SPL architectures is very crucial especially architecture maintainability as SPL are expected to have longer lifetime span. In this paper, we show that change propagation probability CP is helpful and effective in assessing the...
Over the past few years, a boom in the popularity of mobile devices and mobile apps has appeared. More than 205 billion apps were downloaded in 2018. Developers directly distribute mobile apps to end users via a centralized platform like the “App Store” for iOS or the “Play Store” for Android. The Mobile app developers get continuous feedback from...
Users’ feedback are increasingly becoming a vital factor during the software evolution process. Users’ feedback are widely considered to be an indication of how satisfied are the system’s users. It was found that large percentage of feedback represents problems reported by users who face problems in using the system. Users’ feedback are usually com...
Stock market prediction is a hard task even with the help of advanced machine learning algorithms and computational power. Although much research has been conducted in the field, the results often are not reproducible. That is the reason why the proposed workflow is publicly available on GitHub [1] as a continuous effort to help improve the researc...
This research introduces a web-based platform that enables generating fully customizable CAT examinations. Such platform is based on most flexible, newly introduced web technologies; NodeJS. It is a fast and efficient web server for web applications. The architecture is structured using Modified Multinomial Model (MMM). MMM has been identified as o...
Nowadays, there are a lot of classifications models used for predictions in the software engineering field such as effort estimation and defect prediction. One of these models is the ensemble learning machine that improves model performance by combining multiple models in different ways to get a more powerful model.
One of the problems facing the p...
Web page classification has a crucial role in web mining. The massive amount of data available on the web makes it so important to build web page prediction models. We aim to build classification models that classify new instances depending on existing labeled web documents. This paper investigates the effect of the two powerful ensemble methods ca...
Most enterprises operate within a complex and ever-changing context. To ensure that requirements keep pace with changing context, users’ feedback is advocated to ensure that the requirements knowledge is refreshed and reflects the degree to which the system meets its design objectives. The traditional approach to users’ feedback, which is based on...
Systems enabling smart city operations are highly adaptive complex systems that pose great challenges in their development and operation. Current user-driven techniques for system domain modeling and requirements engineering are not adequate for supporting the development of such systems. In this paper, we propose a development process and an envir...
In order to maintain quality of software
products, we need to perform refactoring regularly.
Code smells detection is an important step to be
able to successfully conduct software refactoring.
In this paper, we propose to use risk concept in
assessing code smells detected in the code. As a
proof of concept, we developed an automated risk
based code...
Bug fix time prediction models have been used to predict the fix-time of newly reported bugs in order to help out the developer during the triaging process by prioritizing which bugs to fix first. While constructing these prediction models, we deal with large data sets. It is very likely that these data sets contain outliers that would affect the p...
Predicting bug fix-time is an important issue in order to assess the software quality or to estimate the time and effort needed during the bug triaging. Previous work has proposed several bug fix-time prediction models that had taken into consideration various bug report attributes (e.g. severity, number of developers, dependencies) in order to kno...
This paper surveys the application of artificial intelligence approaches to the software engineering processes. These approaches can have a major impact on reducing the time to market and improving the quality of software systems in general. Existing survey papers are driven by the AI techniques used, or are focused on specific software engineering...
The International Center of Excellence in Software Engineering (ICESE) is a multifaceted center that aims at establishing active programs in research, outreach, and education. The significance of this center relies on its goal of bringing together on a tightly coupled fashion, and on a weekly or bi weekly basis through virtual meeting environments,...
Software Product Line aims at improving productivity and decrease realization times by gathering the analysis, design and implementation activities of a family of systems. Evaluating the quality attributes for SPL architectures is very crucial especially architecture maintainability as SPL are expected to have longer lifetime span. Aspect-orientati...
Cloud Computing has recently emerged as a new computing paradigm based on the concept of virtualization with the goal of creating a shared and highly scalable computing infrastructure from aggregated physical resources to deliver seamless and on-demand provisioning of software, hardware, and data as services. Universities typically have large amoun...
Software architecture is a key discipline in software engineering as it performs a central role in many modern software development paradigms. For an evolving complex architecture, assessing the change impact for the components considering all maintenance scenarios is a difficult problem. In this paper, we present a methodology to conduct sensitivi...
Development of software systems utilizes only 20% -40% of the overall project cost; the rest is consumed by maintenance. Systems with poor maintainability are difficult to modify and to maintain. Maintainability-based risk is defined as a product of two factors: the probability of carrying out maintenance tasks and the impact of these tasks. In thi...
This paper presents Software Architecture Risk Assessment (SARA) Tool to demonstrate the process of risk assessment at the software architecture level. The prototype tool accepts different types of inputs that define software architecture. It parses these input files and produces quantitative metrics that are used to estimate the required risk fact...
A software product spends more than 65% of its lifecycle in maintenance. Software systems with good maintainability can be easily modified to fix faults. We define maintainability-based risk as a product of two factors: the probability of performing maintenance tasks and the impact of performing these tasks. In this paper, we present a methodology...
Development of software systems utilizes only 20%-40% of the overall project cost; the rest is consumed by maintenance. Systems with poor maintainability are difficult to modify and to extend. Maintainability based risk is defined as a product of two factors: the probability of carrying out maintenance tasks and the impact of these tasks. The decis...
A software product spends more than 65% of its lifecycle in maintenance. Software systems with good maintainability can be easily modified to fix faults or to adapt to changing environment. We define maintainability-based risk as a product of two factors: the probability of performing maintenance tasks and the impact of performing these tasks. In t...
The study of software architectures is gaining importance due to its role in various aspects of software engineering, like product line engineering, component-based software engineering and other emerging paradigms. With the increasing emphasis on design patterns, the traditional practice of ad-hoc software construction is slowly shifting towards p...
As software architecture is becoming an important asset in the development of software systems, the study of quantitative assessment of software architectures is gaining importance due to its role in assessing their quality. Error propagation between software system components is a quantitative factor that reflects on the reliability of a software...
Component based development is gaining popularity in the software engineering community. The reliability of components affects the reliability of the system. Different models and theories have been developed to estimate system reliability given the information about system architecture and the quality of the components. Almost always in these model...
Performance is a nonfunctional software attribute that plays a crucial role in wide application domains spreading from safety-critical systems to e-commerce applications. Software risk can be quantified as a combination of the probability that a software system may fail and the severity of the damages caused by the failure. In this paper, we devise...
Summary form only given. Software architectures are an emerging discipline in software engineering as they play a central role in many modern software development paradigms. Quantifying software architectures is an important research agenda, as it allows software architects to subjectively assess quality attributes and rationalize architecture-rela...
The study of software architectures is gaining importance due to its role in various aspects of software engineering such as product line engineering, component based software engineering and other emerging paradigms. With the increasing emphasis on design patterns, the traditional practice of ad-hoc software construction is slowly shifting towards...
The study of software architectures is gaining importance due to its role in various aspects of software engineering such as product line engineering, component based software engineering and other emerging paradigms. With the increasing emphasis on design patterns, the traditional practice of ad-hoc software construction is slowly shifting towards...
The study of software architectures is emerging as an important discipline in software engineering, due to its emphasis on large scale composition of software products, and its support for emerging software engineering paradigms such as product line engineering, component based software engineering, and software evolution. Architectural attributes...
To assist the analysis software architectures, we have developed a Web-based CASE tool that automates the steps of capturing, modeling, and inspection of software architectures, in order to derive and display the change propagation probabilities.
Risk assessment is an essential part in managing software development. Performing risk assessment during the early development phases enhances resource allocation decisions. In order to improve the software development process and the quality of software products, we need to be able to build risk analysis models based on data that can be collected...
Risk assessment is an essential part in managing software development. Performing risk assessment during the early development phases enhances resource allocation decisions. In order to improve the software development process and the quality of software products, we need to be able to build risk analysis models based on data that can be collected...
Summary form only given. Traditional software metrics are inapplicable to software architectures, because they require information that is not available at the architectural level, and reflect attributes that are not meaningful at this level. We briefly present architecture-relevant quality attributes, then we introduce architecture-enabled quantit...
Recent evidences indicate that most faults in software systems are found in only a few of a system's components [1]. The early identification of these components allows an organization to focus on defect detection activities on high risk components, for example by optimally allocating testing resources [2], or redesigning components that are likely...
Software Product Lines SPL are gaining importance in the software development field. Evaluating the quality attributes for SPL architectures is very crucial especially architecture maintainability as SPL are expected to have longer lifetime span. In this paper, we show that change propagation probability CP is helpful and effective in assessing the...