Research Interests
My overall research goal is to properly understand “software composition” (i.e., the opposite side of the “separation of concerns” – SoC – coin) and how practitioners use it. Since the defence of my Ph.D. in 2010, I obtained results dedicated to software composition and its application to a given application domain, namely cyber-physical systems. In addition, I also contributed to software engineering in general, focusing on modelling and variability management at a large scale.
Current research interests (2020 - …)
Microservice Architectures: Decomposing distributed systems into microservices often creates more issues than it was supposed to solve. I am interested in observing how developers maintain and evolve such systems and providing tools to support such tasks at scale. We have curated a list of 13 open-sources microservice architectures that we are currently studying.
Source Code Analysis & Merging: When talking about software development, “code is the truth” at the end of the day. I am interested in developing source code analysis techniques that can help software developers when working on large pieces of software. In this context, my current playground is to experiment with new source code merging algorithms and provide static analysis to understand better how software compilers (e.g., LLVM) work.
Scalable Software Development: This dimension covers my work on DevOps, considering that making software development scalable is not all about technical work. It also covers requirements engineering and human aspects. I am particularly interested in linking requirements to development, build and deployment artifacts in this context. I am also investigating how NLP techniques can improve how requirements can be used in such a context.
Previous research interests (until 2020)
Software composition general mechanisms: I focused my efforts on defining composition operators while measuring the benefits of introducing software composition in various application domains (e.g., graph databases, kernel development, micro-services deployment, business processes). Classical software composition approaches rely on total ordering. I proposed strategies that free the software developer from identifying an application order when composing artifacts, depending on algebraic properties such as commutativity.
Cyber-Physical Systems (CPSs): In this domain, I focused my effort on defining model-based composition operators dedicated to data collection policies and large-scale sensor networks. These operators allow one to reuse an existing network by deploying new applications on top of it instead of building a new sensor network from scratch. This is very important in the context of Smart Cities, for example.
Software Modelling and Variability Management: Considering software modelling, I applied Model-Driven Engineering (MDE) approaches to variability management in various domains such as modelling languages, business processes or continuous integration. My other contributions to variability management were focused on managing large-scale software product lines, leading to the registration of a French patent. I have also dedicated efforts in my research contributions to teaching software modelling and variability management. Since 2018, I am also involved in an initiative targeting the improvement of MDE teaching.
Ongoing Funding
I am thankful for the support of my research by the following research agencies: National Science and Engineering Council (NSERC), Institut National de la Recherche en Informatique et Automatique (Inria), New Frontiers in Research Fund (NFRF), Fond de Recherche Québécois – Nature et Technologie (FRQNT), and Audace Intersectoral Program. I am also receiving tremendous support from the startup package provided by the Faculty of Engineering at McMaster University.
- S. Mosser (PI). A compositional approach to support developers in developing ultra-large-scale systems. National Sciences and Engineering Research Council (NSERC), Discovery grant. 2020 – 2025.
- S. Mosser (co-PI), R. Paige (co-PI). Centre of Excellence for Artificial Intelligence and Smart Mobility – RTA 5: Cloud Automation. Industrial contract, Cubic Transportation Systems. 2021 - 2026.
- F. Bordeleau (co-PI), J. Dingel (co-PI), S. Mosser (co-PI). DevOps for Software Defined Network. NSERC/Mitacs Alliance project (industrial partners: TELUS, Kaloom). 2022 - 2025
- L. Gonnord (co-PI), S. Mosser (co-PI). Characterisation of Program Evolution with static analysis. Institut National de la Recherche en Informatique et Automatique (Inria), Associated team. 2020 – 2023.