Ziad A. Al Sharif
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Research Subjects
Ziad A. Al Sharif has a total of 42 co-authors. Here are the top co-authors by number of shared publications:
- Mohammed Ibrahim Al‐Saleh
Computer Information Systems Department, Higher Colleges of Technology, Abu Dhabi, United Arab Emirates
6 shared publications Clinton Jeffery
4 shared publications- Hani Bani-Salameh
Department of Software Engineering, The Hashemite University, Zarqa 13133, Jordan
3 shared publications Luay Alawneh
Jordan University of Science and Technology, Irbid, Jordan
3 shared publications- Luay Alawneh
Software Engineering, Jordan University of Science and Technology, Irbid, Jordan
3 shared publications - Safwan Omari
College of Aviation, Science and Technology (CoAST), Lewis University
3 shared publications
Latest Publications
- 2 September 2026
- Published by Springer Nature
- p. 423-433
Coverage-Guided GenAI Test Generation: A Comparative Study of One-Shot vs. Iterative Methods
- 2 September 2026
- Published by Springer Nature
- p. 423-433
Coverage-Guided GenAI Test Generation: A Comparative Study of One-Shot vs. Iterative Methods
- 9 May 2025
- Published by Springer Nature
- p. 517-527
The Use of Call Graphs and Deep Learning to Improve Software Testing
- 9 May 2025
- Published by Springer Nature
- p. 517-527
The Use of Call Graphs and Deep Learning to Improve Software Testing
- Open Access
- 29 November 2024
- Published by MDPI AG in Applied Sciences
- Vol. 14 (23) , 11168
AbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite
Due to the incremental and iterative nature of the software testing process, a test suite may become bloated with redundant, overlapping, and similar test cases. This paper aims to optimize a bloated test suite by employing an execution trace that encodes runtime events into a sequence of characters forming a string. A dataset of strings, each of which represents the code coverage and execution behavior of a test case, is analyzed to identify similarities between test cases. This facilitates the de-bloating process by providing a formal mechanism to identify, remove, and reduce extra test cases without compromising software quality. This form of analysis allows for the clustering and classification of test cases based on their code coverage and similarity score. This paper explores three levels of execution traces and evaluates different techniques to measure their similarities. Test cases with the same code coverage should generate the exact string representation of runtime events. Various string similarity metrics are assessed to find the similarity score, which is used to classify, detect, and rank test cases accordingly. Additionally, this paper demonstrates the validity of the approach with two case studies. The first shows how to classify the execution behavior of various test cases, which can provide insight into each test case’s internal behavior. The second shows how to identify similar test cases based on their code coverage.
- 29 November 2024
- Published by MDPI AG in Applied Sciences
- Vol. 14 (23) , 11168
Open AccessAbstractTrace: The Use of Execution Traces to Cluster, Classify, Prioritize, and Optimize a Bloated Test Suite
Due to the incremental and iterative nature of the software testing process, a test suite may become bloated with redundant, overlapping, and similar test cases. This paper aims to optimize a bloated test suite by employing an execution trace that encodes runtime events into a sequence of characters forming a string. A dataset of strings, each of which represents the code coverage and execution behavior of a test case, is analyzed to identify similarities between test cases. This facilitates the de-bloating process by providing a formal mechanism to identify, remove, and reduce extra test cases without compromising software quality. This form of analysis allows for the clustering and classification of test cases based on their code coverage and similarity score. This paper explores three levels of execution traces and evaluates different techniques to measure their similarities. Test cases with the same code coverage should generate the exact string representation of runtime events. Various string similarity metrics are assessed to find the similarity score, which is used to classify, detect, and rank test cases accordingly. Additionally, this paper demonstrates the validity of the approach with two case studies. The first shows how to classify the execution behavior of various test cases, which can provide insight into each test case’s internal behavior. The second shows how to identify similar test cases based on their code coverage.
- 19 January 2024
- Published by Elsevier in Forensic Science International: Digital Investigation
- Vol. 48
The effects of document's format, size, and storage media on memory forensics
- 19 January 2024
- Published by Elsevier in Forensic Science International: Digital Investigation
- Vol. 48
The effects of document's format, size, and storage media on memory forensics
- 18 February 2022
- Published by Springer Nature in Journal of Ambient Intelligence and Humanized Computing
- Vol. 14 (9) , 12021-12033
Personalized human activity recognition using deep learning and edge-cloud architecture
- 18 February 2022
- Published by Springer Nature in Journal of Ambient Intelligence and Humanized Computing
- Vol. 14 (9) , 12021-12033
Personalized human activity recognition using deep learning and edge-cloud architecture
- Open Access
- 28 July 2020
- Published by Pensoft Publishers in JUCS - Journal of Universal Computer Science
- Vol. 26 (7) , 805-826
Utilizing Debugging Information of Applications in Memory Forensics
The rapid development in the digital world has contributed to the dramatic increase in the number of cybercrimes. An application's volatile data that is kept in memory (RAM) could give clues on how a criminal has been using the application up to acquisition time. Unfortunately, application-level memory forensics has been conducted in an ad hoc manner because a forensic investigator has to come up with a new technique for a new application. This process has become problematic and exhausting. This paper proposes a general solution to investigate any application in memory. We heavily utilize applications' debugging information generated by compilers in our solution. Furthermore, we extend Volatility [Walters, 2007], an open-source memory forensic framework, by developing and integrating a plugin to investigate applications in memory. We design several experiments to evaluate the effectiveness of our plugin. Interestingly, our plugin can parse debugging information and extract variables' names and data types regardless of their scope and complexity. In addition, we experimented with a real world application and succeeded in collecting vital information out of it. By accurately computing the Virtual Addresses (VA) of variables along with their allocated memory sizes based on their types, we are able to extract their values out of memory. In addition, we trace call stacks as per threads to extract local variables' values. Finally, direct and indirect pointers are successfully dereferenced.
- 28 July 2020
- Published by Pensoft Publishers in JUCS - Journal of Universal Computer Science
- Vol. 26 (7) , 805-826
Open AccessUtilizing Debugging Information of Applications in Memory Forensics
The rapid development in the digital world has contributed to the dramatic increase in the number of cybercrimes. An application's volatile data that is kept in memory (RAM) could give clues on how a criminal has been using the application up to acquisition time. Unfortunately, application-level memory forensics has been conducted in an ad hoc manner because a forensic investigator has to come up with a new technique for a new application. This process has become problematic and exhausting. This paper proposes a general solution to investigate any application in memory. We heavily utilize applications' debugging information generated by compilers in our solution. Furthermore, we extend Volatility [Walters, 2007], an open-source memory forensic framework, by developing and integrating a plugin to investigate applications in memory. We design several experiments to evaluate the effectiveness of our plugin. Interestingly, our plugin can parse debugging information and extract variables' names and data types regardless of their scope and complexity. In addition, we experimented with a real world application and succeeded in collecting vital information out of it. By accurately computing the Virtual Addresses (VA) of variables along with their allocated memory sizes based on their types, we are able to extract their values out of memory. In addition, we trace call stacks as per threads to extract local variables' values. Finally, direct and indirect pointers are successfully dereferenced.
- 1 July 2020
- Published by Elsevier in Future Generation Computer Systems
- Vol. 108, 1217-1229
Live forensics of software attacks on cyber–physical systems
- 1 July 2020
- Published by Elsevier in Future Generation Computer Systems
- Vol. 108, 1217-1229
Live forensics of software attacks on cyber–physical systems
- 6 January 2020
- Published by Springer Nature in Cluster Computing
- Vol. 23 (4) , 2677-2688
A scalable multiple pairwise protein sequence alignment acceleration using hybrid CPU–GPU approach
- 6 January 2020
- Published by Springer Nature in Cluster Computing
- Vol. 23 (4) , 2677-2688
A scalable multiple pairwise protein sequence alignment acceleration using hybrid CPU–GPU approach
- 1 June 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 99-103
RecDNNing: a recommender system using deep neural network with user and item embeddings
The success of applying deep learning to many domains has gained strong interest in developing new revolutionary recommender systems. However, there are little works studying these systems that employ deep learning; additionally, there is no study showing how to combine the users and items embedding with deep learning to enhance the effectiveness of the recommender systems. Therefore, this paper proposes a novel approach called RecDNNing with a combination of embedded users and items combined with deep neural network. The proposed recommendation approach consists of two phases. In the first phase, we create a dens numeric representation for each user and item, called user embedding and item embedding, respectively. Following that, the items and users embedding are averaged and then concatenated before being fed into the deep neural network. In the second phase, we use the model of the deep neural network to take the concatenated users and items embedding as the inputs in order to predict the scores of rating by applying the forward propagation algorithm. The experimental results on MovieLens show that the proposed RecDNNing outperforms state-of-the-art algorithms.
- 1 June 2019
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 99-103
RecDNNing: a recommender system using deep neural network with user and item embeddings
The success of applying deep learning to many domains has gained strong interest in developing new revolutionary recommender systems. However, there are little works studying these systems that employ deep learning; additionally, there is no study showing how to combine the users and items embedding with deep learning to enhance the effectiveness of the recommender systems. Therefore, this paper proposes a novel approach called RecDNNing with a combination of embedded users and items combined with deep neural network. The proposed recommendation approach consists of two phases. In the first phase, we create a dens numeric representation for each user and item, called user embedding and item embedding, respectively. Following that, the items and users embedding are averaged and then concatenated before being fed into the deep neural network. In the second phase, we use the model of the deep neural network to take the concatenated users and items embedding as the inputs in order to predict the scores of rating by applying the forward propagation algorithm. The experimental results on MovieLens show that the proposed RecDNNing outperforms state-of-the-art algorithms.