Mamdouh Alenezi

SE
9papers
165citations
Novelty17%
AI Score39

9 Papers

SEJun 2Code
Human-AI Collaboration and the Transformation of Software Engineering Work

Mamdouh Alenezi

The integration of Generative AI (GenAI) and Agentic AI into software development is reconfiguring software engineering from an activity centered on human authorship of code into a discipline centered on directing, verifying, and governing autonomous and semi-autonomous systems. Drawing on a curated, multi-source evidence base of recent peer-reviewed and archival studies -- including large-scale empirical observations of autonomous coding agents contributing hundreds of thousands of pull requests to open-source repositories -- this paper synthesizes how the locus of engineering work is shifting from individual coding productivity toward human--AI collaboration, agent orchestration, verification and validation, governance, and socio-technical systems thinking. We adopt a structured interpretive synthesis to characterize three coexisting paradigms: Traditional, Generative AI-Enabled, and Agentic AI-Enabled software engineering. We map which traditional activities are being automated, which are being augmented, and which are newly emerging, and we trace plausible role trajectories over the next decade. The paper's principal contribution is an original, theory-driven competency framework that organizes the capabilities required of future engineers into five interacting categories -- % technical, cognitive, socio-technical, governance, and organizational -- % operationalized through a competency matrix and a transformation framework linking paradigm shifts to capability demands. We derive nine empirically testable propositions and articulate implications for theory, industry workforce transformation, university curricula, and organizational leadership. We argue that, as code becomes abundant, the durable value of the software engineer increasingly resides in intent specification, critical judgment, and accountable oversight rather than in the sheer volume of code produced.

SENov 10, 2015Code
Quality of Open Source Systems from Product Metrics Perspective

Mamdouh Alenezi, Ibrahim Abunadi

Software engineering and information systems practices seek ultimately to create the flawless product. One of the tools used to improve the quality of software development is the use of metrics. In this paper, metrics retrieved from open source software were analyzed for quality attributes. Defect density is considered a strong indication of the quality of software product. Few studies have taken into consideration the density of defects while looking into quality of software and proneness to defects. Analysis of this study has shown that defect density is relevant to different developers and different product sizes. Thus, open source project has shown to have low defect density and the larger the product the lower the defect density is. In addition, this study has shown that there are different metrics that correlate with each other indicating that some of these metrics have conceptual and practical relevance to each other. Another relationship was tested between the number of bugs and the metrics. Results indicated that most attributes had positive correlation with the number of bugs with exception to coupling between cohesion among methods of class.

SEApr 12
Rethinking Software Engineering for Agentic AI Systems

Mamdouh Alenezi

The rapid proliferation of large language models (LLMs) and agentic AI systems has created an unprecedented abundance of automatically generated code, challenging the traditional software engineering paradigm centered on manual authorship. This paper examines whether the discipline should be reoriented around orchestration, verification, and human-AI collaboration, and what implications this shift holds for education, tools, processes, and professional practice. Drawing on a structured synthesis of relevant literature and emerging industry perspectives, we analyze four key dimensions: the evolving role of the engineer in agentic workflows, verification as a critical quality bottleneck, observed impacts on productivity and maintainability, and broader implications for the discipline. Our analysis indicates that code is transitioning from a scarce, carefully crafted artifact to an abundant and increasingly disposable commodity. As a result, software engineering must reorganize around three core competencies: effective orchestration of multi-agent systems, rigorous verification of AI-generated outputs, and structured human-AI collaboration. We propose a conceptual framework outlining the transformations required across curricula, development tooling, lifecycle processes, and governance models. Rather than diminishing the role of engineers, this shift elevates their responsibilities toward system-level design, semantic validation, and accountable oversight. The paper concludes by highlighting key research challenges, including verification-first lifecycles, prompt traceability, and the long-term evolution of the engineering workforce.

SEJan 25, 2022
Investigating Software Testability and Test cases Effectiveness

Mamdouh Alenezi

Software measurement is an essential management tool to develop robust and maintainable software systems. Software metrics can be used to control the inherent complexities in software design. To guarantee that the components of the software are inevitably testable, the testability attribute is used, which is a sub-characteristics of the software's maintabilility as well as quality assurance. This study investigates the relationship between static code and test metrics and testability and test cases effectiveness. The study answers three formulated research questions. The results of the analysis showed that size and complexity metrics are suitable for predicting the testability of object-oriented classes.

CYJan 10, 2022
Understanding Digital Government Transformation

Mamdouh Alenezi

In today's era of innovation of technological progression, digitalisation has not only transformed individual lives but also has a prominent influence on business activities. The world is surviving in a global yet complex technological progression that not only changes the lives of civilians but is also transforming the public, private, and academic spheres of life. This research focuses on the digitalisation of governments, their challenges, and success factors. It is found that government faces difficulties in formulating strategies, proper planning, execution strategies, and a lack of organised information and expertise. However, success can be achieved by working on capabilities of the future workforce, creating leaders for tomorrow, generating digitalisation capabilities, and bringing a purpose-driven digitalisation before digital government transformation. Overall, the study's findings suggest that digital government transformation creates value, enhances relations, improves service delivery, grows economy, pushes economic activities, enhances citizen engagement, increases the policy implementation and their efficiency, and affects business growth positively.

SEDec 16, 2021
Software and Security Engineering in Digital Transformation

Mamdouh Alenezi

Digital transformation is a hot topic in the current global environment as a large number of organizations have been working to adopt digital solutions. Software engineering has also emerged to be a more important role as a large number of systems, either traditional or smart, are dependent on the software that collects, store, and process data. The role of software engineers has also become crucial in digital transformation. In this regard, this paper aims to examine the trends of software engineering and the role of software engineers in digital transformation. In addition to this, this paper also examines the importance of secure software development in digital transformation. It can be concluded that software engineering is an integral part of digital transformation as all digital systems make use of software to perform their functions efficiently. Software act as a bridge between digital systems and humans to use the systems interactively and efficiently.

SEFeb 10, 2020
On the Relationship between Software Complexity and Security

Mamdouh Alenezi, Mohammad Zarour

This work aims at discussing the complexity aspect of software while demonstrating its relationship with security. Complexity is an essential part of software; however, numerous studies indicate that they increase the vulnerability of the software systems and introduce bugs in the program. Many developers face difficulty when trying to understand the complex components of software. Complexity in software increases when objects in the software are used to design a more complex object while creating a hierarchical complexity in the system. However, it is necessary for the developers to strive for minimum complexity, as increased complexity introduces security risks in the software, which can cause severe monetary and reputational damage to a government or a private organization. It even causes bodily harm to human beings with various examples found in previous years where security breaches led to severe consequences. Hence it is vital to maintain low complexity and simple design of structure. Various developers tend to introduce deliberate complexities in the system so that they do not have to write the same program twice; however, it is getting problematic for the software organizations as the demands of security are continually increasing.

SEJan 6, 2019
STORE: Security Threat Oriented Requirements Engineering Methodology

Md Tarique Jamal Ansari, Dhirendra Pandey, Mamdouh Alenezi

As we are continuously depending on information technology applications by adopting electronic channels and software applications for our business, online transaction and communication, software security is increasingly becoming a necessity and more advanced concern. Both the functional and non-functional requirements are important and provide the necessary needs at the early phases of the software development process, specifically in the requirement phase. The aim of this research is to identify security threats early in the software development process to help the requirement engineer elicit appropriate security requirements in a more systematic manner throughout the requirement engineering process to ensure a secure and quality software development. This article proposes the STORE methodology for security requirement elicitation based on security threats analysis, which includes the identification of four points: PoA, PoB, PoC and PoD for effective security attack analysis. Further, the proposed STORE methodology is also validated by a case study of an ERP System. We also compare our STORE methodology with two existing techniques, namely, SQUARE and MOSRE. We have shown that more effective and efficient security requirements can be elicited by the STORE methodology and that it helps the security requirement engineer to elicit security requirements in a more organized manner.

SEApr 9, 2018
Using Categorical Features in Mining Bug Tracking Systems to Assign Bug Reports

Mamdouh Alenezi, Shadi Banitaan, Mohammad Zarour

Most bug assignment approaches utilize text classification and information retrieval techniques. These approaches use the textual contents of bug reports to build recommendation models. The textual contents of bug reports are usually of high dimension and noisy source of information. These approaches suffer from low accuracy and high computational needs. In this paper, we investigate whether using categorical fields of bug reports, such as component to which the bug belongs, are appropriate to represent bug reports instead of textual description. We build a classification model by utilizing the categorical features, as a representation, for the bug report. The experimental evaluation is conducted using three projects namely NetBeans, Freedesktop, and Firefox. We compared this approach with two machine learning based bug assignment approaches. The evaluation shows that using the textual contents of bug reports is important. In addition, it shows that the categorical features can improve the classification accuracy.