Balancing benefits and risks when designing software systems

A close-up image of blue computer code scrolling across a dark screen.

Dependable Software Systems: Designing Software Systems

By Sathish Gopalakrishnan, Associate Professor in the Department of Electrical and Computer Engineering and Program Director of the MEL in Dependable Software Systems

The increasing prevalence of autonomous systems in all facets of our lives brings with it fascinating challenges to ensure their accuracy, reliability, safety and security.

These autonomous systems are driven by machine learning, which raises even more questions: Is there enough data available for training the algorithm? If so, is the system learning the right things at the right point of time? And how do we know?

For some autonomous applications, safety is paramount and can literally have life-or death implications. Whereas mechanical engineers, for example, have a long professional history of developing, implementing and working within standards for ensuring safety, that’s a relatively new concept in software engineering.

This, too, raises critical issues: what is a reasonable level of safety for any given system? How do you balance a focus on safety with other strategic drivers?

You can invest a lot of money to create an extraordinarily reliable and safe system, but this might not make for a reliable project from a financial point of view. Privacy and security are other top-of-mind concerns, and with so much of our data and so many software services residing online, this is a growing vulnerability. Sustainability is another issue to consider with the proliferation of energy-consuming data centres.

Today’s software engineers must have a broad understanding of all these interconnected issues when developing software systems, while also balancing crucial financial, social and operational perspectives.

The Master of Engineering Leadership in Dependable Software Systems is positioned within this context. Our 12-month program offers software engineers a framework within which to deepen their understanding of core technical issues related to software testing and verification and developing dependable and secure systems. And given that these challenges are very much of our world – with financial, social and sustainability implications – the business and leadership courses that make up about half of the curriculum provide students with crucial knowledge. The program involves a capstone project, often supported by industry, enabling students to apply the tools they are learning to a software engineering challenge. Historically, some of these projects have been in the field of machine learning. In one project, students looked at issues with steering controllers for self-driving cars; in another, they compared different machine learning models to identify appropriate applications. They’ve also reviewed automotive safety standards and explored whether machine learning approaches could meet these standards. The complex, interconnected issues of reliability, security and privacy must be top-of-mind for professionals working in this field.

The MEL in Dependable Software Systems was designed specifically for junior and senior developers who want to learn the foundations of how to develop reliable systems work at scale.

We’re equipping our graduates to develop the skills that will enable them to take the next step and build dependable software for a range of systems – from scalable distributed systems handling millions of users per second to embedded safety-critical systems.

UBC Crest The official logo of the University of British Columbia. Arrow An arrow indicating direction. Arrow in Circle An arrow indicating direction. Caret An arrowhead indicating direction. E-commerce Cart A shopping cart. Time A clock. Chats Two speech clouds. Facebook The logo for the Facebook social media service. Social Media The globe is the default icon for a social media platform. TikTok The logo for the TikTok social media platform. Calendar Location Home A house in silhouette. Information The letter 'i' in a circle. Instagram The logo for the Instagram social media service. Linkedin The logo for the LinkedIn social media service. Location Pin A map location pin. Mail An envelope. Telephone An antique telephone. Play A media play button. Search A magnifying glass. Arrow indicating share action A directional arrow. Speech Bubble A speech bubble. Star An outline of a star. Twitter The logo for the Twitter social media service. Urgent Message An exclamation mark in a speech bubble. User A silhouette of a person. Vimeo The logo for the Vimeo video sharing service. Youtube The logo for the YouTube video sharing service. Future of work A logo for the Future of Work category. Inclusive leadership A logo for the Inclusive leadership category. Planetary health A logo for the Planetary health category. Solutions for people A logo for the Solutions for people category. Thriving cities A logo for the Thriving cities category. University for future A logo for the University for future category.