Anas Shatnawi

Dr. Anas Shatnawi


Research Focus & Metrics

Academic Career Length

14Years (2013-Present)

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

Representative Publications

View All Publications
18 January 2022 in Requirements Engineering
Verified
Journal Article
Open access
PDF file
MAMuhammad Abbas
Muhammad Abbas
Alessio FerrariAlessio Ferrari
Alessio Ferrari
ASAnas Shatnawi
Anas Shatnawi
Eduard EnoiuEduard Enoiu
Eduard Enoiu
MSMehrdad Saadatmand
Mehrdad Saadatmand
DSDaniel Sundmark
Daniel Sundmark
Recommender systems for requirements are typically built on the assumption that similar requirements can be used as proxies to retrieve similar software. When a stakeholder proposes a new requirement, natural language processing (NLP)-based similarity metrics can be exploited to retrieve existing requirements, and in turn, identify previously developed code. Several NLP approaches for similarity computation between requirements are available. However, there is little empirical evidence on their effectiveness for code retrieval. This study compares different NLP approaches, from lexical ones to semantic, deep-learning techniques, and correlates the similarity among requirements with the similarity of their associated software. The evaluation is conducted on real-world requirements from two industrial projects from a railway company. Specifically, the most similar pairs of requirements across two industrial projects are automatically identified using six language models. Then, the trace links between requirements and software are used to identify the software pairs associated with each requirements pair. The software similarity between pairs is then automatically computed with JPLag. Finally, the correlation between requirements similarity and software similarity is evaluated to see which language model shows the highest correlation and is thus more appropriate for code retrieval. In addition, we perform a focus group with members of the company to collect qualitative data. Results show a moderately positive correlation between requirements similarity and software similarity, with the pre-trained deep learning-based BERT language model with preprocessing outperforming the other models. Practitioners confirm that requirements similarity is generally regarded as a proxy for software similarity. However, they also highlight that additional aspect comes into play when deciding software reuse, e.g., domain/project knowledge, information coming from test cases, and trace links. Our work is among the first ones to explore the relationship between requirements and software similarity from a quantitative and qualitative standpoint. This can be useful not only in recommender systems but also in other requirements engineering tasks in which similarity computation is relevant, such as tracing and change impact analysis.

1 August 2013
Verified
Conference Paper
Open access
ASAnas Shatnawi
Anas Shatnawi
ASAbdelhak-Djamel Seriai
Abdelhak-Djamel Seriai
One of the most important approaches that support software reuse is Component Based Software Engineering (CBSE). Nevertheless the lack of component libraries is one of the major obstacles to widely use CBSE in the industry. To help filling this need, many approaches have been proposed to identify components from existing object-oriented software. These approaches identify components from singular software. Therefore the reusability of these components may be limited. In this paper, we propose an approach to mine reusable components from a set of similar object-oriented software, which were developed in the same domain, ideally by the same developers. Our goal is to enhance the reusability of mined components compared to those mined from single software. In order to validate our approach, we have applied it onto two open source Java applications of different sizes; small and large-scale ones. The results show that the components mined from the analysis of similar software are more reusable than those which are mined from single ones.

11 November 2024 in Information
Verified
Journal Article
Open access
PDF file
MSMaad Shatnawi
Maad Shatnawi
FAFrdoos Albreiki
Frdoos Albreiki
AAAshwaq Alkhoori
Ashwaq Alkhoori
MAMariam Alhebshi
Mariam Alhebshi
ASAnas Shatnawi
Anas Shatnawi
Drowning is among the most common reasons for children’s death aged one to fourteen around the globe, ranking as the third leading cause of unintentional injury death. With rising populations and the growing popularity of swimming pools in hotels and villas, the incidence of drowning has accelerated. Accordingly, the development of systems for detecting and preventing drowning has become increasingly critical to provide safe swimming settings. In this paper, we propose a comprehensive review of recent existing advancements in automated drowning detection and prevention systems. The existing approaches can be broadly categorized according to their objectives into two main groups: detection-based systems, which alert lifeguards or parents to perform manual rescues, and detection and rescue-based systems, which integrate detection with automatic rescue mechanisms. Automatic drowning detection approaches could be further categorized into computer vision-based approaches, where camera-captured images are analyzed by machine learning algorithms to detect instances of drowning, and sensing-based approaches, where sensing instruments are attached to swimmers to monitor their physical parameters. We explore the advantages and limitations of each approach. Additionally, we highlight technical challenges and unresolved issues related to this domain, such as data imbalance, accuracy, privacy concerns, and integration with rescue systems. We also identify future research opportunities, emphasizing the need for more advanced AI models, uniform datasets, and better integration of detection with autonomous rescue mechanisms. This study aims to provide a critical resource for researchers and practitioners, facilitating the development of more effective systems to enhance water safety and minimize drowning incidents.

12 January 2023 in IEEE Access
Verified
Journal Article
Open access
ZSZakarea Mohammad Al shara
Zakarea Mohammad Al shara
HSHamzeh Eyal Salman
Hamzeh Eyal Salman
ASAnas Shatnawi
Anas Shatnawi
ASAbdelhak-Djamel Seriai
Abdelhak-Djamel Seriai
GitHub provides a distributed and collaborative platform to develop and maintain open-source projects. This social coding platform achieves this collaborative development, with or without coordination, using pull requests and issues artefacts. When the number of daily submitted issues rapidly grows up, especially in popular repositories, managing issues becomes more complicated. To help the repository’s developers in issues processing, there are external contributors who fix issues by submitting pull-requests. On GitHub, a pull-request is frequently linked with a submitted issue to show that a solution is in progress. Unfortunately, contributors might forget or be lazy to link the Pull-Requests with their corresponding Issues. Only a tiny share of these links are established, but a large portion of links are missed in the development history. However, manually recovering the links between Pull-Request and Issues from evolutionary development history is a challenging, time-consuming, and error-prone task, even for senior developers. In this article, we propose to build ML models to recover links between pull-requests and issues using two Machine Learning algorithms (KMeans and BIRCH) based on lexical and semantic weighting measurements. These models are evaluated using PI-Link ground-truth dataset. The obtained results show that pull-request and issue links can be recovered with an accuracy of 91.5% using BIRCH clustering algorithm.

29 July 2021 in IEEE Software
Verified
Journal Article
Closed access
BVBenoit Verhaeghe
Benoit Verhaeghe
ASAnas Shatnawi
Anas Shatnawi
ASAbderrahmane Seriai
Abderrahmane Seriai
AEAnne Etien
Anne Etien
NANicolas Anquetil
Nicolas Anquetil
SDStephane Ducasse
Stephane Ducasse
Berger-Levrault is an international company that developed applications in GWT for more than 10 years. However, GWT is no longer actively maintained, with only one major update since 2015. To avoid being stuck with legacy technology, the company decided to migrate its applications to Angular. However, because of the size of the applications {more than 500 web pages per application), rewriting from scratch is not desirable. To ease the migration, we designed a semi-automated migration approach that helps developers migrate applications' front-end from GWT to Angular and a tool that performs the migration. In this paper, we present our approach and tool. We validated the approach on concrete application migration and compared its benefits to redeveloping the application manually. We report that the semi-automated migration offers an effort reduction over a manual migration. Finally, we present recommendations for future migration projects.

18 July 2022
Verified
Book Chapter
Closed access
PDF file
PZPascal Zaragoza
Pascal Zaragoza
ASAbdelhak-Djamel Seriai
Abdelhak-Djamel Seriai
ASAnas Shatnawi
Anas Shatnawi
HBHinde-Lilia Bouziane
Hinde-Lilia Bouziane
MDMustapha Derras
Mustapha Derras