Skip to content. Skip to navigation
McGill Home SOCS Home
Personal tools
You are here: Home Prospective Students Undergraduate Medicine Reliable Software
Bioinformatics
Databases
Imaging
Machine Learning
Reliable Software
Robotics


Reliable Software for Medicine

Software is an integral part of medical systems and devices, and medical applications become increasingly dependent on its proper functioning. Software controls and monitors devices such as implanted pacemaker, regulates the doses in radiation therapy, tracks the medical and financial records of patients. While most applications of software are benign, software failure can have catastrophic and expensive consequences. For example, in 1985 software design flaws in the Therac-25 machine lead to radiation overdoses in U.S. and Canadian patients. In 1997, software-logic error caused infusion pumps to deliver lethal dose of morphine sulfate. In 2001, Panamanian cancer patients died following overdoses of radiation caused by erroneous software calculations.

Our Computer Science researchers at McGill work on many issues relating to building reliable software.

Professor Brigitte Pientka's research aims at developing a theoretical and practical foundation for safe and verified software systems to increase our confidence in the software systems we employ. To achieve this goal, I study the logical foundations computer science. The objective is to develop a unified framework which allows us to formally model the languages we use to implement software and at the same time allows us to specify and verify automatically general safety properties about programs.

She teaches the following courses in these areas:

  • COMP 302 - Programming languages and paradigms
  • COMP 426 - Automated Reasoning -
  • COMP 523 - Language-based security

Professor Jörg Kienzle's research area also helps to produce reliable software through the development of fault tolerance techniques, that allow the software to continue to provide service in spite of hardware, software design faults and faults of the surrounding environment.