Resilient software update

In a typical scenario, a large heterogeneous software system, installed on many different sites and composed of several interacting components, exchanging data with several different protocols, must be updated to correct some defects, add new functionalities, or replace some obsolete components without breaking the system and while keeping its dependability.

This research project aims at developing approaches to substantially increase the efficiency of change management for high dependability software systems, such as avionic software systems, controlling navigation systems or company mission critical distributed applications. We will particularly focus on the challenges of updating multi-components software systems; systems that include a large quantity of components with the following non-exhaustive list of challenging characteristics: Different languages; Running on different OSes; Built by third-parties; Using different communication protocol; Distributed on processors.

Project activities will be carried out in collaboration with industrial partners, in particular CAE Inc. and CS Communications Canada showed a keen interest for this project. After a first phase during which approaches and technologies will be developed using open source systems, the industrial partners will choose and detail industrial, typical scenarios of software updates. The academic partners will use these scenarios as a "test bed" against which to assess the appropriateness of the solutions as well as a source of information to build the solution.

This research project involves case studies, and laboratory experiments with students and professional developers as well as building tools. We expect that students will work on the theoretical aspects, implementation, and experiments needed to study and characterize the software systems used in high-dependability, distributed systems; study and characterize componentization, redundancy, coupling, cohesion, and criticality of subject systems; study, define, and develop appropriate change-impact analyses; and develop models for software update cost and risk assessment.

Aditya Gaurav
Faculty Supervisor: 
Dr. Giuliano Antoniol