I hold the esteemed position of Associate Professor within the Software Engineering department at Jordan University of Science and Technology. My academic journey culminated in a PhD in Software Engineering from the University of Montpellier (UM-LIRMM / CNRS) in 2016, where I focused on the modernization and migration of Object-oriented applications to Component-based (CBSE) and Service-oriented Architecture (SOA). Following my doctoral studies, I enriched my expertise during a postdoctoral tenure at IMT Atlantique & INRIA, dedicating my efforts to the CoMe4ACloud project (Constraints and Model Engineering for Autonomic Clouds). This endeavor aimed to furnish comprehensive solutions for autonomic Cloud services. Subsequently, I transitioned to a permanent role at Berger-Levrault as a Research and Development Engineer. Here, my focus centered on the modernization of web applications to Software as a Service (SaaS). Throughout my career, I have contributed significantly to academia and industry, evidenced by numerous high-impact publications spanning software engineering, software security, artificial intelligence, and cloud computing domains. My professional journey extends beyond academia, encompassing over six years of immersive experience in software development and programming. Proficient in Java and Android development, I possess versatile skills across a spectrum of languages and technologies, including Qiskit, Python, Angular, C++, Xtext, and CSS. My portfolio boasts a diverse array of applications, ranging from mobile to desktop and server platforms.
Responsibilities include:
Responsibilities include:
In this paper, we propose a new approach and implement its tool to automatically inspect NIV code smells. We integrate our tool, named NIV-Detector, with Android Studio as a plugin to be available during development time. We use NIV-Detector to inspect 100 Android GitHub projects. As a result, we successfully confirmed ten vulnerable projects with 14 NIV smells.
We evaluate our approach by applying it to three Java APIs with eight client applications from the DaCapo benchmark. DaCapo provides a set of pre-defined usage scenarios. The results show that our component identification approach has a very high precision.
This paper introduces the designed model-based architecture, and notably its core generic XaaS modeling language. It also describes the integration with a constraint solver to be used by the autonomic manager , as well as the interoperability with a Cloud standard (TOSCA).
In this paper, we propose an approach for revealing component descriptors, component instances and component based architecture to materialize the recovered architecture of an object oriented software in component based languages. We applied our solution onto two well known component based languages, OSGi and SOFA.