16 Aug 2021 |
Research article |
Information and Communications Technologies
Meeting the Challenge of Multi-Component Systems
Purchased on Istockphoto.com. Copyright.
Improving the software development process, establishing best practices and creating tools through empirical studies are the main goals of Professor Mohammed Sayagh, who joined the Software and IT Engineering Department team at the beginning of September. Although his research interests focus on software engineering and DevOps in general, his primary interest is in multi-component software systems. One example is Netflix, a system that comprises a multitude of small components that were created and are maintained by a number of different teams. Professor Sayagh’s research work draws on a variety of techniques, including exploring software repositories (repositories of source codes, bug reports, online forums and the DockerHub platform), source code analysis techniques (static and dynamic splitting), natural language processing and both qualitative and quantitative analysis techniques.
Mohammed Sayagh started out with a short stint in the industrial sector before quickly realizing that his desire was to be involved in research and development related to the field of software engineering, and that the “configuration” aspect would be his main focus. He then pursued his doctoral studies under the supervision of Professor Bram Adams, Director of the Maintenance, Construction and Intelligence of Software Lab (MCIS) at Polytechnique Montréal. His research project dealt with the configuration of multilayer software applications like WordPress, which is a typical example of LAMP (Linux, Apache, MySql, PHP) architecture. Professor Sayagh explains: “My goal was to provide a methodology that assists users and developers in identifying and resolving configuration problems that could be introduced by different layers.”
After earning his PhD in 2018, Mohammed Sayagh worked as a Postdoctoral Fellow at the Software Analysis and Intelligence Lab (SAIL) at Queen’s University in Kingston, Ontario, under the supervision of Professor Ahmed E. Hassan. He focused his attention on software variability and the engineering of large-scale software systems.
The Challenge of Multi-Component Systems
At ÉTS, he plans to continue his research efforts in the same vein. According to Professor Sayagh: “The next step is to understand how systems evolve over time, and to establish best practices that developers can follow in order for their systems to evolve more efficiently. My goal is to propose techniques that will assist them in managing the quality of systems, and especially multi-component systems. The characteristics of these systems differ from monolithic applications, where the bulk of software engineering work is concentrated. There are very few studies examining multi-component software systems, which pose new challenges in terms of software engineering, especially when it comes to debugging configuration errors.”
Green Software Engineering, AIOps, Crowd-Sourcing
I addition to configuration management and multi-component systems, Mohammed Sayagh is also interested in other software engineering fields, such as green software engineering, AIOps (Artificial Intelligence for IT Operations), game development and crowd sourcing.
Professor Sayagh chose ÉTS because of its excellent reputation and the large number of researchers who carry out empirical studies like he does and concentrate their efforts on his field of expertise. “For me, this represents a unique opportunity to collaborate with many other people,” he concludes.