
Qusay Idrees SarhanUniversity of Duhok · Department of Computer Science
Qusay Idrees Sarhan
M.Tech. in Software Engineering
I am currently doing research on software analysis and testing.
About
30
Publications
36,354
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
169
Citations
Citations since 2017
Introduction
Software Engineering.
Internet of Things.
Skills and Expertise
Publications
Publications (30)
Internet of things (IoT) is the promising and future internet. The IoT
is a network of connected sensors, actuators, and everyday objects that are used
in various domains, such as healthcare, airports, and military. As it connects
everything around us to the internet, the IoT poses a number of severe
challenges and issues as compared to the convent...
Smart home safety and security systems have gained much importance over the last few years owing to their notable impact in reducing and preventing losses in resources and human life caused by unwanted situations that could occur while homeowners are far away from their homes. To date, there is a lack of an in-depth literature analysis that could h...
Software module clustering is an unsupervised learning method used to cluster software entities (e.g., classes, modules, or files) with similar features. The obtained clusters may be used to study, analyze, and understand the software entities' structure and behavior. Implementing software module clustering with optimal results is challenging. Acco...
In Spectrum-Based Fault Localization (SBFL), a suspiciousness score is assigned to each code element based on test coverage and test outcomes. The scores are then used to rank the code elements relative to each other in order to aid the programmer during the debugging process when seeking the source of a fault. However, probably none of the known S...
In software debugging, fault localization is the most difficult, expensive, tedious, and time-consuming task, particularly for large-scale software systems. This is due to the fact that it requires significant human participation and it is difficult to automate its sub-tasks. Therefore, there is a high demand for automatic fault localization techni...
Spectrum-Based Fault Localization (SBFL) is one of the most popular genres of Fault Localization (FL) methods among researchers. One possibility to increase the practical usefulness of related tools is to involve interactivity between the user and the core FL algorithm. In this setting, the developer provides feedback to the fault localization algo...
Spectrum-Based Fault Localization (SBFL) is one of the most popular genres of Fault Localization (FL) methods among researchers. One possibility to increase the practical usefulness of related tools is to involve interactivity between the user and the core FL algorithm. In this setting, the developer provides feedback to the fault localization algo...
Spectrum-Based Fault Localization (SBFL) uses a mathematical formula to determine a suspicion score for each program element (such as a statement, method, or class) based on fundamental statistics (e.g., how many times each element is executed and not executed in passed and failed tests) taken from test coverage and results. Based on the calculated...
In Spectrum-Based Fault Localization (SBFL), a suspicion score for each program element (e.g., statement, method, or class) is calculated by using a risk evaluation formula based on tests coverage and their results. The elements are then ranked from most suspicious to least suspicious based on their scores. The elements with the highest scores are...
Spectrum-Based Fault Localization (SBFL) computes suspicion scores, using risk evaluation formulas, for program elements (e.g., statements, methods, or classes) by counting how often each element is executed or not executed by passing versus failing test cases. The elements are then ranked from most suspicious to least suspicious based on their sco...
In Spectrum-Based Fault Localization (SBFL), when some failing test cases indicate a bug, a suspicion score for each program element (e.g., statement, method, or class) is calculated using a risk evaluation formula based on basic statistics (e.g., covering/not covering program element in passing/failing test) extracted from test coverage and test r...
The Internet of Things (IoT) is a new technological trend involved in many of our day-to-day activities, and its applications cover many aspects of our lives, including healthcare, military, industry, etc. Therefore, testing IoT applications, services, and systems is crucial to avoid losses in resources and lives, especially in critical application...
Java is one of the most demanding programming languages nowadays and it is used for developing a wide range of software applications including desktop, mobile, embedded, and web applications. Writing efficient Java codes for those various types of applications (which some are critical and time-sensitive) is crucial and recommended best practices th...
Fault localization is one of the most time-consuming and error-prone parts of software debugging. There are several tools for helping developers in the fault localization process, however, they mostly target programs written in Java and C/C++ programming languages. While these tools are splendid on their own, we must not look over the fact that Pyt...
Serverless computing has gained importance over the last decade as an exciting new field, owing to its large influence in reducing costs, decreasing latency, improving scalability, and eliminating server-side management, to name a few. However, to date there is a lack of in-depth survey that would help developers and researchers better understand t...
The technological revolution of the Internet of Things (IoT) increased the number of objects (e.g., vehicles) connected to the Internet, making our lives easier, safer, and smarter. Putting IoT objects on the wheel has created a new technology called the Internet of Vehicle (IoV). The massive progress in communication and computing concepts brought...
The need for smart home warning systems is in high demand nowadays as they are used to warn owners about undesired situations that could happen while they are far away from their homes. This paper aims to present the design and implementation of an Arduino based smart home warning system. In this system, Arduino Uno microcontroller has been used wi...
With the growing usage and migration of interactive applications and systems into today’s environment, the significance of the graphical user interfaces (GUIs) increases as they act as the gates into using systems efficiently. Therefore, extensive efforts are spent to enhance the usability of the GUIs. However, most of the works focus on testing th...
Smart home systems have gained importance nowadays owing to the various applications they provide to the users. Applications of smart home systems cover many aspects of our daily life and help to reduce the cost of living via controlling and managing home appliances as an example. Currently, there are a huge number of studies on smart home systems;...
Writing good software is not an easy task, it requires a lot of coding experience and skills. Therefore, inexperienced software developers or newbies suffer from this critical task. In this paper, we provide guidelines to help in this important context. It presents the most important best practices and recommendations of writing good software from...
Introduction: With the rapid deployment of embedded databases across a wide range of embedded devices such as mobile devices, Inter-net of Things (IoT) devices, etc., the amount of data generated by such devices is also growing increasingly. For this reason, the performance is considered as a crucial criterion in the process of selecting the most s...
Introduction: Lists are used in various software applications including
web applications, desktop applications, and Internet of Things (IoT)
applications to store different types of items (e.g. country name, product
model, and device category). Users can select one or more of these
items to perform specific tasks such as filling forms, ordering pro...
Software components that rely on the Internet in order to be accessed and used cover many aspects of our daily activities including email checking, weather checking, purchase ordering, and Facebook logging. Nowadays, these components are considered one of the most valuable and fundamental rights in human's life. However, accessing and using the fun...
Software integration is a crucial aspect of collaborative software applications and systems. It enables a number of different software applications, created by different developers, using different programming languages, and even located at different places to work with each other collaboratively to achieve common goals. Nowadays, a number of techn...
Biosignals can be measured, monitored, and analyzed in order to provide
information about physiological functions and health statuses. These signals are
useful for different types of applications, e.g. evoked potentials (EP). Commercial
biosignal data acquisition and logging systems are frequently very expensive,
developed via closed-source softwar...
The previous couple of years have encouraged enthusiasm among interested
researchers in the field of clustered based algorithms upon Wireless Sensor
Networks (WSNs). This is for many reasons; such as more scalability and
efficient in energy that outperform other existing algorithms in literature. The
clustered based protocols must meet some inherit...
Recent researches have witnessed that secret keying functionality is very important to protect wireless sensor networks from existing adversary. Based on inherited nature and limited resources capabilities of wireless sensor devices, providing a strong keying scheme is very difficult. Existing researches in literature within security domains for se...
This paper presents the design and prototype implementation of an Arduino based real-time home control system that can be used to control and monitor home appliances remotely via the Internet. In this system, remote controlling and monitoring of four devices: TV, clothes washer, lamp, and Fridge are achieved by using two applications, mobile applic...
Secure key management is crucial to meet the security goals to prevent the Wireless Sensor Networks (WSNs) being compromised by an adversary. Owing to ad-hoc nature and resource limitations of sensor networks, provisioning a right key management is challenging. In this paper we present a Novel Secure Key Management (NSKM) module providing an effici...
Wireless sensor networks (WSNs) were often used to collect sensitive data and the entire network was particularly vulnerable to various threats at different layers of the protocol stack. With this in mind, there was need to improve security solutions that were inevitable and advantageous to the successful deployment of the wireless sensor networks....