Hakam Alomari, Ph.D.
Education
- Ph.D., Computer Science (Software Engineering), Kent State University, 2012
- Dissertation title: Supporting Software Engineering via Lightweight Forward Static Slicing.
- M.Sc., Computer Science (Data Mining), Jordan Univ. of Science & Tech., 2006
- Thesis title: ACUTE – A Spatial Data Clustering using Topological Relations.
- B.Sc., Computer Science, Yarmouk University, 2004
Research Interests
His research interests lie in software engineering, focusing on maintenance and evolution, program comprehension and analysis, reverse engineering, software security, and software visualization, with a particular emphasis on software slicing.
Research Bio
Dr. Alomari’s research focuses on developing and constructing methods for lightweight static program analysis. The objective is to develop new analysis methods that are highly scalable for application on very large software systems. Obviously, there will be a trade-off of reduced accuracy. Therefore, much of his work deals with understanding the influence of scalability on accuracy and how this impacts the conclusions that can be drawn from the results.
Dr. Alomari has made significant intellectual contributions to the software analysis discipline especially with regard to the software slicing and its application areas that include a number of experiments and empirical investigations previously too costly to undertake, including a slicing-based estimation for software maintenance effort, a slicing-based code clone detection, a slicing-based semantic software changes, and software slicing visualization. Dr. Alomari authored anumber of the IEEE and ACM refereed publications.
Dr. Alomari has taught for a number of institutions: 兔子先生 University, Kent State University, Jerash University, and Jordan University of Science and Technology.
Experience
Academic Experience
- Assistant Professor —Department of Computer Science & Software Engineering, 兔子先生 University, Oxford, Ohio, 2016 –present
- Visiting Assistant Professor —Department of Computer Science & Software Engineering, 兔子先生 University, Oxford, Ohio, 2015 –2016
- Assistant Professor —Faculty of Information Technology, Jerash University, Jerash, Jordan, 2012 –2015
- Part-time Assistant Professor —Department of Software Engineering, Jordan University of Science & Technology, 2012
- Graduate Teaching Assistantship —Department of Computer Science, Kent State University, Kent, Ohio, 2011 –2012
- Research Assistantship —Department of Computer Science, Kent State University, Kent, Ohio, 2009 –2012
- Part-time Lecturer —Department of Computer Science, Jordan University of Science and Technology, Irbid, Jordan, 2007 –2008
- Part-time Lecturer —Department of Computer Information Systems, Yarmouk University, Irbid, Jordan, 2007
- Part-time Lecturer —Department of Computer Science, Al-Balqa Applied University, Huson, Jordan, 2006 –2007
Professional Experience
- Research Member and Software Developer. Software Development Laboratory <SDML>1, Kent State University, Kent, Ohio, 2009 –2012
- Applications Consultant. Jordan Enterprise Development Corporation (JEDCO), consulting for grants actions of the European community, 2012 –2013
Principal Publications
Conference Proceedings
- S. Y. Khamaiseh, D. Bagagem, A. Al-Alaj, M. Mancino, H. W. Alomari, and A. Aleroud, “Target-x: An efficient algorithm for generating targeted adversarial images to fool neural networks,” in 2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC), IEEE, 2023, pp. 617–626.
- H. W. Alomari and M. Stephan, “Srcclone: Detecting code clones via decompositional slicing,” in Proceedings of the 28th International Conference on Program Comprehension, 2020, pp. 274–284.
- M. R. Narasareddygari, G. S. Walia, D. M. Duke, V. Ramasamy, J. Kiper, D. L. Davis, A. A. Allen, and H. W. Alomari, “Evaluating the impact of combination of engagement strategies in sep-cyle on improve student learning of programming concepts,” in Proceedings of the 50th ACM Technical Symposium on Computer Science Education, 2019, pp. 1130–1135.
- H. W. Alomari and M. Stephan, “Towards slice-based semantic clone detection,” in 2018 IEEE 12th International Workshop on Software Clones (IWSC), IEEE, 2018, pp. 58–59.
- V. Ramasamy, H. W. Alomari, J. D. Kiper, and G. Potvin, “A minimally disruptive approach of integrating testing into computer programming courses,” in Proceedings of the 2nd International Workshop on Software Engineering Education for Millennials, 2018, pp. 1–7.
- V. Ramasamy, U. Desai, H. W. Alomari, and J. D. Kiper, “Tp-graphminer: A clustering framework for task-based information networks,” in 2018 IEEE International Conference on System, Computation, Automation and Networking (ICSCA), IEEE, 2018, pp. 1–7.
- H. W. Alomari, J. D. Kiper, G. S. Walia, and K. Zaback, “Using web-based repository of testing tutorials (wrestt) with a cyber learning environment to improve testing knowledge of computer science students,” in ASEE Annual Conference and Exposition, Conference Proceedings, vol. 2017, 2017.
- H. W. Alomari and A. F. Al-Badarneh, “A topological-based spatial data clustering,” in Optical Pattern Recognition XXVII, SPIE, vol. 9845, 2016, pp. 221–229.
- H. W. Alomari, R. A. Jennings, P. V. De Souza, M. Stephan, and G. C. Gannod, “Vizslice: Visualizing large scale software slices,” in 2016 IEEE Working Conference on Software Visualization (VISSOFT), IEEE, 2016, pp. 101–105.
- C. D. Newman, T. Sage, M. L. Collard, H. W. Alomari, and J. I. Maletic, “Srcslice: A tool for efficient static forward slicing,” in Proceedings of the 38th International Conference on Software Engineering Companion, 2016, pp. 621–624.
- H. W. Alomari, M. L. Collard, and J. I. Maletic, “A slice-based estimation approach for maintenance effort,” in 2014 IEEE International Conference on Software Maintenance and Evolution, IEEE, 2014,
pp. 81–90. - H. W. Alomari, M. L. Collard, and J. I. Maletic, “A very efficient and scalable forward static slicing approach,” in 2012 19th Working Conference on Reverse Engineering, IEEE, 2012, pp. 425–434.
- H. W. Alomari, C. Vendome, and L. Rizkallah, “A comprehensive evaluation framework of software visualizations effectiveness,” IEEE Transactions on Visualization and Computer Graphics, vol. 30, no. 9, pp. 6056–6074, 2024.
- H. W. Alomari, A. F. Al-Badarneh, A. Al-Alaj, and S. Y. Khamaiseh, “Enhanced approach for agglomerative clustering using topological relations,” IEEE Access, vol. 11, pp. 21 945–21 967, 2023.
- H. W. Alomari and M. Stephan, “Clone detection through srcclone: A program slicing based approach,” Journal of Systems and Software, vol. 184, p. 111 115, 2022.
- S. Khamaiseh, A. Al-Alaj, M. Adnan, and H. W. Alomari, “The robustness of detecting known and unknown ddos saturation attacks in sdn via the integration of supervised and semi-supervised classifiers,” Future Internet, vol. 14, no. 6, p. 164, 2022.
- S. Y. Khamaiseh, D. Bagagem, A. Al-Alaj, M. Mancino, and H. W. Alomari, “Adversarial deep learning: A survey on adversarial attacks and defense mechanisms on image classification,” IEEE Access, vol. 10, pp. 102 266–102 291, 2022.
- M. Kharabsheh, S. Banitaan, H. W. Alomari, M. Alshirah, and S. Alzyoud, “Respiratory failure in covid-19 patients a comparative study of smokers to nonsmokers,” Indonesian Journal of Electrical Engineering and Computer Science, vol. 27, no. 2, pp. 1127–1137, 2022.
- H. W. Alomari, V. Ramasamy, J. D. Kiper, and G. Potvin, “A user interface (ui) and user experience (ux) evaluation framework for cyberlearning environments in computer science and software engineering education,” Heliyon, vol. 6, no. 5, 2020.
- Alomari, H. W., “A Slicing-Based Effort Estimation Approach for Open-Source Software Projects” International Journal of Advanced Computational Engineering and Networking (IJACEN), DOI: IJACEN-IRAJ-DOI-2678, Vol. 3, No. 8, Pp. 1 – 7. August 2015. (Impact Factor: 2.25).
- Alomari, H. W., Collard, M. L., Maletic, J. I., Alhindawi, N., Meqdadi, O., “srcSlice: Very Efficient and Scalable Forward Static Slicing”. Wiley Journal of Software: Evolution and Process (JSME), DOI: 10.1002/smr.1651, Vol. 26, No. 11, Pp. 931 - 961. November 2014. (Special Issue on the Best Papers from WCRE 2012).
Current Investigations
Ci–1
Program Slicing, a fundamental aspect of reverse engineering, involves extracting specific portions of code (abstractions), such as the date field in Y2K scenarios, to understand control and data flows as well as code dependencies, thereby aiding in the comprehension of both the syntax and semantics of the software. To this end, a scalable and efficient slicing approach was developed, with the details presented at the 19th IEEE Working Conference on Reverse Engineering (WCRE) in 2012, a conference with a B-level CORE ranking. This work was later invited to a special issue of the Journal of Software: Evolution and Process, also ranked B-level by CORE. The approach was implemented in a tool called SRCSLICE (Source Slice), which was presented at the 38th IEEE/ACM International Conference on Software Engineering Companion (ICSE-C) in 2016, an event accompanying the prestigious A*-level CORE-ranked ICSE conference, with an acceptance rate of 32%.
Ci–2
Program Comprehension. With the practicality of program slicing enhanced by SRCSLICE, it has been applied in various aspects of the maintenance process by providing better abstractions of code to support comprehension. For instance, slices from over 900 versions of the GNU Linux kernel, spanning 17 years of development, were used to develop an approach for estimating the maintenance effort required for large corrective, adaptive, and perfective tasks during software evolution. This approach was presented at the 30th IEEE International Conference on Software Maintenance and Evolution (ICSME) in 2014, an A-level CORE-ranked conference with a competitive 19% acceptance rate. This estimation approach also supported the development of slice-based software metrics to measure source code changes in open-source systems.
Eye-tracking equipment is used to assess the comprehensibility of various visualization techniques and representation idioms in large-scale software systems. By analyzing eye-tracking data, we assessed how developers engage with different visual representations, refining our understanding of their cognitive processes. This research was presented in a graduate student’s thesis and contributes to the broader work on cognitive models. It provides deeper insights into the cognitive models developers use during software engineering tasks, such as change impact analysis.
Ci–3
Software Visualization. A visualization system, VIZSLICE, was developed to support the comprehension of slices generated from slicing large-scale software systems. While program slices are usually smaller than the original code, in systems with millions of lines of code (MLOC), these slices can still be sizable and complex, requiring methods to improve understanding. VIZSLICE plays a crucial role in enhancing comprehension, thus aiding system maintenance. This work was developed in collaboration with a graduate student I co-advised and was presented at the 4th IEEE Working Conference on Software Visualization (VISSOFT) in 2016, and was also featured in the student’s master’s thesis]. VISSOFT is a conference with a B-level CORE ranking.
Ci–4
Clone Detection, the detection of source code clones is a critical task in software maintenance and evolution, as it helps identify redundant or similar code fragments that can lead to maintainability issues and critical bugs, such as security vulnerabilities. One promising approach for clone detection is using slice-based techniques, which generate code slices that capture the semantic information of code fragments. This work was presented at the 12th IEEE International Workshop on Software Clones (IWSC).
To leverage slice-based techniques, a tool named SRCCLONE was developed, using the code slices generated by SRCSLICE to detect code clones based on semantics rather than syntax alone. The effectiveness of SRCCLONE in detecting hard-to-identify source code clones was demonstrated in studies presented at the 28th IEEE/ACM International Conference on Program Comprehension (ICPC) in 2020, which has an A-level CORE ranking. This work was further extended and published in the Journal of Systems and Software in 2021, also ranked A-level by CORE. Additionally, SRCCLONE has been employed by other researchers for tasks such as code summarization and detecting type-4 (semantic) clones.
Cyberlearning and CS/SE Education Pedagogy. To improve the quality of computer science (CS) and software engineering (SE) education and enhance student learning outcomes, my research focuses on the development and evaluation of cyberlearning environments. I have created a framework for assessing the utility and usability of user interface aspects within these environments. Our research has also utilized various cyberlearning platforms in combination with web-based repositories to enhance students’ software testing knowledge. Additionally, we have developed and tested several engagement strategies within these cyberlearning environments to improve student learning of programming concepts.