I am an associate professor at Jordan University of Science and Technology in the Software Engineering department. I received my PhD in Software Engineering from the University of Montpellier (UM-LIRMM / CNRS) in 2016. I was working on the modernization and migration of Object-oriented applications to Component-based (CBSE) and Service-oriented Architecture (SOA). After that, I spent one year at IMT Atlantique & INRIA as a postdoc. During my postdoc, I worked on the CoMe4ACloud project (Constraints and Model Engineering for Autonomic Clouds) to provide an end-to-end solution for autonomic Cloud services. Finally, I had a permanent position at Berger-Levrault as Research and Development Engineer. I was working on the modernization of web applications to Software as a Service (SaaS). As a result, I have published many high-quality papers in the domain of software engineering, software security, artificially intelligent, and cloud computing. At the level of industry, I have more than six years of experience in the industry of software development and programming. I am a professional in Java, android, and I have a good experience in other script and programming languages like Qiskit, Python, Angular, C++, Xtext, CSS, etc. I have developed many applications over mobile, desktop, and server.
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.
In this paper, our approach transforms the object-oriented source code in order to produce deployable components. We focus in this paper on the transformation of source code related to instantiation and inheritance dependencies between classes that are in different components.