The McMaster Centre for Software Certification (McSCert) was created in 2009 with the mandate:
- to develop new tools and methods to help ensure software is safe, secure and dependable
- to ensure effective technology transfer to industry through targeted publications and close collaboration with private sector partners and regulators
- to provide our graduate students with the skills needed to lead development efforts for the next generation of safety-critical software-intensive systems
Why is software certification needed?
It’s frustrating when a software bug crashes your computer, but a software bug in a pacemaker or a car’s braking system risks more than frustration: it could have deadly results. Software is becoming essential to more and more products and in many industries – medical, automotive, aerospace, nuclear power, military equipment, for example – failure of software to meet its requirements can be disastrous.
Society is increasingly demanding that software used in such critical systems must meet minimum safety, security and reliability standards. But ensuring that software won’t fail is difficult. There are few regulations, guidelines or formal systems to direct software developers.
Why are new software development methods and tools in demand?
Critical, software-intensive products are typically certified based on the rigorous process used in their development. Software safety and reliability, however, can’t be guaranteed by development process alone: there is a critical need to develop techniques to prove software fitness using evidence derived from the software code and associated artefacts. McSCert has established itself as a world leader in research into what kind of evidence is sufficient and how different kinds of evidence can be combined into an argument for safety that is sufficient. The centre’s research is deeply theoretical, yet has profound practical applications.
What does McSCert do?
With an overarching goal to improve the practice of software engineering applied to critical systems involving software, McSCert:
- performs research on how to produce software that can be certified, and on how existing software may be certified
- works with industrial partners on the development and certification of software
- works with regulatory authorities to improve relevant standards and approaches to software certification
- trains graduate students in software engineering for safety critical systems, hazard analysis, model-based software development and certification
- works with the bodies responsible for recognizing professional engineers to improve their requirements
While our emphasis is on software, we recognize that the safety of products that depend on software is a problem in systems engineering: the hardware that contains the software has to be part of the engineering, and part of the certification.
McSCert’s research and development work has had significant commercial, economic and societal impact. In particular, we have:
- generated ground-breaking knowledge and techniques we now use to build software intensive systems such that they are amenable to certification
- contributed fundamentally to the development of principles and techniques for effective certification of such systems
- influenced regulators at a very high level in the way they approach the problem of regulation and certification