Mohammad Alahmadi 0001

dblp:221/5652 · also Mohammad D. Alahmadi · DBLP profile ↗
← Back
9ranked-venue papers
4as first author
5since 2021 · last 2026
0000-0002-3399-2996ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 8 · 4 first-author · 4 since 2021Databases, data management, data science and information retrieval · 2 · 1 since 2021
YearPublicationVenuePosition
2026 Reinforcement Learning for Server-Aware Offloading in Multi-Tier Multi-Instance Computing Architecture
abstract
Task offloading in distributed computing involves complex tradeoffs among delay, scalability, cost, and resource utilization. Cloud platforms face long communication delays, while edge nodes have constrained capacity. Static, rule-based schedulers cannot adapt to fluctuating loads or per-instance heterogeneity. Similarly, Reinforcement Learning (RL) schemes typically address only a single layer or assume homogeneous servers, overlooking the hierarchical and multi-instance nature of deployments. To address these challenges, we introduce a server-aware Proximal Policy Optimization (PPO) framework that performs fine-grained offloading across a three-tier (Edge, Regional, Cloud) multi-instance architecture. We formulate offloading as a Markov Decision Process whose state vector includes per-instance delay, CPU/memory utilization, network congestion, cost, and energy metrics. The PPO agent learns to offload tasks to the best server in real time. Our developed RegionalEdgeSimPy simulation shows that PPO agent makes optimal offloading choices for over 90% of tasks, keeping each server near; however, below a 70% utilization. This optimized decision making drives up to 66.9% delay reduction, 78.6% energy savings, and 47.8% cost reductions relative to cloud-only and edge-only baselines.
Afzal Badshah, Ali Daud, Sakher Ghanem, Sami Alesawi, Mohammad Alahmadi 0001, Ammar Almutawa
ACM Trans. Intell. Syst. Technol.5
2024 Investigating Developers' Preferences for Learning and Issue Resolution Resources in the ChatGPT Era
abstract
The landscape of software developer learning re-sources has continuously evolved, with recent trends favoring engaging formats like video tutorials. The emergence of Large Language Models (LLMs) like ChatG PT presents a new learning paradigm. While existing research explores the potential of LLMs in software development and education, their impact on developers' learning and solution-seeking behavior remains unexplored. To address this gap, we conducted a survey targeting software developers and computer science students, gathering 341 responses, of which 268 were completed and analyzed. This study investigates how AI chatbots like ChatGPT have influenced developers' learning preferences when acquiring new skills, ex-ploring technologies, and resolving programming issues. Through quantitative and qualitative analysis, we explore whether AI tools supplement or replace traditional learning resources such as video tutorials, written tutorials, and Q&A forums. Our findings reveal a nuanced view: while video tutorials continue to be highly preferred for their comprehensive coverage, a significant number of respondents view AI chatbots as potential replacements for written tutorials, underscoring a shift towards more interactive and personalized learning experiences. Additionally, AI chatbots are increasingly considered valuable supplements to video tutorials, indicating their growing role in the developers' learning resources. These insights offer valuable directions for educators and the software development community by shedding light on the evolving preferences toward learning resources in the era of ChatGPT.
Ahmad Tayeb, Mohammad Alahmadi 0001, Elham Tajik, Sonia Haiduc
ICSME2
2023 Extended Abstract of A Comparative Study and Analysis of Developer Communications on Slack and Gitter
abstract
Software developers are often using instant messaging platforms to communicate with each other and other stakeholders. Among these platforms, Gitter has emerged as a popular choice and the messages it contains can reveal important information to researchers studying open-source software systems. Uncovering what developers are communicating about through Gitter is an essential first step towards successfully understanding and leveraging this information. This paper builds upon our previously published paper (Parra et al. 2020), which introduced GitterCom for the first time and presented a study of the messages it contains with the goal of observing how developers and other stakeholders communicate about software using Gitter in the context of Gitter communities dedicated to the active development of open source software systems on GitHub.
Esteban Parra, Mohammad Alahmadi 0001, Ashley Ellis, Sonia Haiduc
SANER2
2023 VID2XML: Automatic Extraction of a Complete XML Data From Mobile Programming Screencasts
abstract
Developers often refer to video-hosting online platforms to find screencasts that provide a step-by-step guide to help them solve a programming task at hand or learn a new concept. More specifically, developers search for resources that help them design and implement effective mobile graphical user interfaces (GUI) usingXML. Although mobile programming screencasts contain a vast amount ofXMLdata at developers’ disposal, they cannot be easily found and copied-pasted due to the image nature of videos. Given that the most common task developers perform online is copy-pasting, mobile programming screencasts must support that and be complemented withXMLdata in a textual format. To overcome this challenge and aid developers, this paper presentsvid2XML, which is a three-phase approach that leverages both visual and textual information of video frames to locateXMLregion in video frames, locate the currently opened file, and extractXMLdata for each file presented in video frames. We evaluated each phase ofvid2XMLin a comprehensive empirical evaluation on videos collected from YouTube. The results reveal thatvid2XMLis able to accurately (i) locateXMLregions, outperforming four previous work, (ii) locate the bounding box of the selected file, and (iii) extract, fix, and mergeXMLdata for each file opened/created in a video.
Mohammad Alahmadi 0001
IEEE Trans. Software Eng.1
2022 A comparative study and analysis of developer communications on Slack and Gitter
abstract
Software developers are often using instant messaging platforms to communicate with each other and other stakeholders. Among these platforms, Gitter has emerged as a popular choice and the messages it contains can reveal important information to researchers studying open source software systems. Uncovering what developers are communicating about through Gitter is an essential first step towards successfully understanding and leveraging this information. In this paper, we first describe the largest manually labeled and curated dataset of Gitter developer messages, named GitterCom, obtained by manually analyzing and labeling 10,000 Gitter messages in 10 software projects. We then present a qualitative study to understand the extent to which the categories identified in previous work by Lin et al. (2016) found on Slack through surveys are applicable to developer messages exchanged on Gitter. Further, in an effort to automate the labeling process, we investigate the accuracy of 9 traditional machine learning and deep learning algorithms in predicting the intent of Gitter messages. We found that Decision Trees and Random Forest performed the best, achieving an accuracy of 88%, which is very promising for this multi-class classification task. Finally, we discuss the potential directions for future research enabled by labeled Gitter datasets such as GitterCom.
Esteban Parra, Mohammad Alahmadi 0001, Ashley Ellis, Sonia Haiduc
Empir. Softw. Eng.2
2020 UI Screens Identification and Extraction from Mobile Programming Screencasts
abstract
Mobile applications demand is on the rise, leading to more programmers learning to develop or having to maintain this kind of programs. Developers often refer to online resources to find inspiration or answers to questions they have about mobile programming topics and screencasts are a popular resource. However, given the multitude of screencasts available, it can be difficult to quickly comprehend which of the many videos is relevant to one's needs.
Mohammad Alahmadi 0001, Abdulkarim Khormi, Sonia Haiduc
ICPC1
2020 A Study on the Accuracy of OCR Engines for Source Code Transcription from Programming Screencasts
abstract
Programming screencasts can be a rich source of documentation for developers. However, despite the availability of such videos, the information available in them, and especially the source code being displayed is not easy to find, search, or reuse by programmers. Recent work has identified this challenge and proposed solutions that identify and extract source code from video tutorials in order to make it readily available to developers or other tools. A crucial component in these approaches is the Optical Character Recognition (OCR) engine used to transcribe the source code shown on screen. Previous work has simply chosen one OCR engine, without consideration for its accuracy or that of other engines on source code recognition. In this paper, we present an empirical study on the accuracy of six OCR engines for the extraction of source code from screencasts and code images. Our results show that the transcription accuracy varies greatly from one OCR engine to another and that the most widely chosen OCR engine in previous studies is by far not the best choice. We also show how other factors, such as font type and size can impact the results of some of the engines. We conclude by offering guidelines for programming screencast creators on which fonts to use to enable a better OCR recognition of their source code, as well as advice on OCR choice for researchers aiming to analyze source code in screencasts.
Abdulkarim Khormi, Mohammad Alahmadi 0001, Sonia Haiduc
MSR2
2020 UIScreens: extracting user interface screens from mobile programming video tutorials
abstract
Mobile apps are one of the most widely used types of software systems in existence today and more programmers and students learn how to develop them everyday. One of the most popular resources for learning mobile programming are videos hosted on social platforms such as YouTube. While useful, this type of resource has also its limitations, especially when developers are looking for user interface (UI) designs for mobile applications, since these are hard to search for and locate in videos. We propose UIScreens, a web-based analysis and search engine that analyzes the visual contents of mobile programming video tutorials, then identifies and extracts the UI screens displayed in the videos. Our tool offers features such as searching for UI screens in videos, displaying an overview of the UI screens identified in a video under each search result, and navigating to the part of a video where a particular UI screen is being displayed and discussed. In a user study, participants agreed that UIScreens is usable and useful to quickly skim through videos, while the UI screens it extracts can help developers further determine the relevance of videos to a search topic.
Mohammad Alahmadi 0001, Ahmad Tayeb, Abdulkarim Khormi, Esteban Parra, Sonia Haiduc
ESEC/SIGSOFT FSE1
2020 Code Localization in Programming Screencasts
Mohammad Alahmadi 0001, Abdulkarim Khormi, Biswas Parajuli, Jonathan Hassel, Sonia Haiduc
Empir. Softw. Eng.1