Modern software systems are becoming increasingly complex and composed of multiple components, each with unique particularities ranging from the chosen programming language, the configuration mechanisms, the technologies used, etc. Typical examples of such systems are Netflix and its 100 components (known as microservices), plugin-based systems such as WordPress and its 60k plugins, and modern stacks of layers such as the popular LAMP and MEAN stacks. These multi-component systems pose unique challenges related to release engineering practices, including software and infrastructure configuration. For example, composing a multi-component system using Docker can come with security and resource-related issues. While configuration errors, in general, are harmful and hard to debug, configuration errors in multi-component are leading to severe issues in production. For example, due to a configuration error, millions of users' confidential data (including credit card numbers) were publicly exposed.
This talk will explore challenges related to the composition and configuration of multi-component systems and how leveraging source code analysis techniques and machine learning will help address these challenges. Finally, this talk will present new research opportunities on the evolution of multi-component systems and the impact of such evolution on the release engineering pipeline.
Concordia University uses technical, analytical, marketing and preference cookies. These are necessary for our site to function properly and to create the best possible online experience.