Amr S. Abdelfattah

Dr. Amr S. Abdelfattah

The University of Arizona, Tucson, Arizona, USA
orcid

Research Focus & Metrics

Academic Career Length

6Years (2021-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
26 August 2021 in Applied Sciences
Verified
Journal Article
Open access
PDF file
VBVincent Bushong
Vincent Bushong
Amr S. AbdelfattahAmr S. Abdelfattah
Amr S. Abdelfattah
Abdullah Al MarufAbdullah Al Maruf
Abdullah Al Maruf
Dipta DasDipta Das
Dipta Das
ALAustin Lehman
Austin Lehman
Miroslav BuresMiroslav Bures
Miroslav Bures
Microservice architecture has become the leading design for cloud-native systems. The highly decentralized approach to software development consists of relatively independent services, which provides benefits such as faster deployment cycles, better scalability, and good separation of concerns among services. With this new architecture, one can naturally expect a broad range of advancements and simplifications over legacy systems. However, microservice system design remains challenging, as it is still difficult for engineers to understand the system module boundaries. Thus, understanding and explaining the microservice systems might not be as easy as initially thought. This study aims to classify recently published approaches and techniques to analyze microservice systems. It also looks at the evolutionary perspective of such systems and their analysis. Furthermore, the identified approaches target various challenges and goals, which this study analyzed. Thus, it provides the reader with a roadmap to the discipline, tools, techniques, and open challenges for future work. It provides a guide towards choices when aiming for analyzing cloud-native systems. The results indicate five analytical approaches commonly used in the literature, possibly in combination, towards problems classified into seven categories.

10 February 2022 in Sensors
Verified
Journal Article
Open access
PDF file
MTMichal Trnka
Michal Trnka
Amr S. AbdelfattahAmr S. Abdelfattah
Amr S. Abdelfattah
ASAishwarya Shrestha
Aishwarya Shrestha
MCMichael Coffey
Michael Coffey
Tomas CernyTomas Cerny
Tomas Cerny
Technologies for the Internet of Things (IoT) are maturing, yet no common standards dictate their direction, leaving space for a plethora of research directions and opportunities. Among the most important IoT topics is security. When we design a robust system, it is important to know the available options for facing common tasks related to access control, authentication, and authorization. In this review, we systematically analyze 1622 peer-reviewed publications from October 2017 to December 2020 to find the taxonomy of security solutions. In addition, we assess and categorize current practices related to IoT security solutions, commonly involved technologies, and standards applied in recent research. This manuscript provides a practical road map to recent research, guiding the reader and providing an overview of recent research efforts.

31 January 2023 in Applied Sciences
Verified
Journal Article
Open access
PDF file
Amr S. AbdelfattahAmr S. Abdelfattah
Amr S. Abdelfattah
Tomas CernyTomas Cerny
Tomas Cerny
Understanding software systems written by others is often challenging. When we want to assess systems to reason about them, i.e., to understand dependencies, analyze evolution trade-offs, or to verify conformance to the original blueprint, we must invest broad efforts. This becomes difficult when considering decentralized systems. Microservice-based systems are mainstream these days; however, to observe, understand, and manage these systems and their properties, we are missing fundamental tools that would derive various simplified system abstract perspectives. Microservices architecture characteristics yield many advantages to system operation; however, they bring challenges to their development and deployment lifecycles. Microservices urge a system-centric perspective to better reason about the system evolution and its quality attributes. This process review paper considers the current system analysis approaches and their possible alignment with automated system assessment or with human-centered approaches. We outline the necessary steps to accomplish holistic reasoning in decentralized microservice systems. As a contribution, we provide a roadmap for analysis and reasoning in microservice-based systems and suggest that various process phases can be decoupled through the introduction of system intermediate representation as the trajectory to provide various system-centered perspectives to analyze various system aspects. Furthermore, we cover different technical-based reasoning strategies and metrics in addition to the human-centered reasoning addressed through alternative visualization approaches. Finally, a system evolution is discussed from the perspective of such a reasoning process to illustrate the impact analysis evaluation over system changes.

24 April 2024 in Cluster Computing
Verified
Journal Article
Closed access
PDF file
Tomas CernyTomas Cerny
Tomas Cerny
Amr S. AbdelfattahAmr S. Abdelfattah
Amr S. Abdelfattah
JSJorge Yero Salazar
Jorge Yero Salazar
DTDavide Taibi
Davide Taibi

10 April 2024 in SN Computer Science
Verified
Journal Article
Closed access
PDF file
EQErnesto Quevedo
Ernesto Quevedo
Amr S. AbdelfattahAmr S. Abdelfattah
Amr S. Abdelfattah
ARAlejandro Rodriguez
Alejandro Rodriguez
JSJorge Yero Salazar
Jorge Yero Salazar
Tomas CernyTomas Cerny
Tomas Cerny

13 May 2024 in Electronics
Verified
Journal Article
Open access
PDF file
Amr S. AbdelfattahAmr S. Abdelfattah
Amr S. Abdelfattah
Tomas CernyTomas Cerny
Tomas Cerny
JSJorge Yero Salazar
Jorge Yero Salazar
ESEunjee Song
Eunjee Song
DTDavide Taibi
Davide Taibi
Test coverage is a critical aspect of the software development process, aiming for overall confidence in the product. When considering cloud-native systems, testing becomes complex, as it becomes necessary to deal with multiple distributed microservices that are developed by different teams and may change quite rapidly. In such a dynamic environment, it is important to track test coverage. This is especially relevant for end-to-end (E2E) and API testing, as these might be developed by teams distinct from microservice developers. Moreover, indirection exists in E2E, where the testers may see the user interface but not know how comprehensive the test suits are. To ensure confidence in health checks in the system, mechanisms and instruments are needed to indicate the test coverage level. Unfortunately, there is a lack of such mechanisms for cloud-native systems. This manuscript introduces test coverage metrics for evaluating the extent of E2E and API test suite coverage for microservice endpoints. It elaborates on automating the calculation of these metrics with access to microservice codebases and system testing traces, delves into the process, and offers feedback with a visual perspective, emphasizing test coverage across microservices. To demonstrate the viability of the proposed approach, we implement a proof-of-concept tool and perform a case study on a well-established system benchmark assessing existing E2E and API test suites with regard to test coverage using the proposed endpoint metrics. The results of endpoint coverage reflect the diverse perspectives of both testing approaches. API testing achieved 91.98% coverage in the benchmark, whereas E2E testing achieved 45.42%. Combining both coverage results yielded a slight increase to approximately 92.36%, attributed to a few endpoints tested exclusively through one testing approach, not covered by the other.