Programming code abstract technology background of software developer and Computer script

Credit monsitj

As society becomes more complex and innovative, the use of automated or computer-based systems has become the norm within our digital lifestyle. However, the use of these software systems have also become associated with ‘crashes’ and ‘security holes’. It seems that even though digital technology is advancing at an astronomical rate, we are unable to guarantee software reliability and security within our day-to-day lives.

Of great importance to our digital world has been the development of ‘life-critical software systems’. This can be described as a computer-based software system, whose failure could threaten human life by causing serious injury or death. For example, pacemakers are wirelessly reprogrammable implanted medical devices used to generate a continuous and controlled heart beat in those with heart defects. The survival of these patients is completely reliant on the function of their pacemaker. These life-critical devices have the ability to connect to wireless online servers, essentially meaning that patients fitted with pacemakers are able to record and monitor the function of their heart. However, this digital feature of pacemakers also introduces some concerns regarding their security and the potential for hacking. A 2008 study carried out by researchers from the Archimedes Centre for Medical Device Security, University of Michigan, found that not only could hackers obtain sensitive patient information, but they could also alter the pacemakers behaviour or even turn the pacemaker off. This would, of course, have fatal consequences for the patient.

Emerging technologies such as autonomous or driverless cars are well into development, and are expected to be on our roads within the next five years. These cars will function with the use of machine learning technology, which will essentially allow the car to identify its surroundings via the use of sensors. Machine learning technology allows the car to process and also learn from the data that it receives from these sensors. Whilst the everyday use of this futuristic technology could soon be a reality, once again fears regarding its resilience and safety is under question. Of particular importance is the aspect of cyber security; given the digital nature of these vehicles, the threat of hacking is a real concern. Technically speaking, anything that is connected to the internet has the potential to be hacked by cybercriminals. These criminals aim to exploit the ‘digital world’ and use the internet as a platform to carry out illegal activities. The UK Government is currently exploring the practical use of driverless car technology within the ‘real world’, and are also trying to combat the issue of cyber security.

As technology and digital systems become more complex, they in turn become more vulnerable to cyber attacks. It is therefore essential that we put safeguards in place to ensure the reliability and safety of all software systems, particularly those whose failure could result in a direct threat to life. Interestingly, life-critical software systems have been used in commercial aeroplanes for almost 40 years, and never has a software ‘bug’ or ‘fault’ been experienced. How do we eliminate both internal and external risks within these software systems, in order to guarantee safety and maintain software function?

Join us to hear from senior computer science researcher and the 2016 Royal Society Milner Award winner Dr Xavier Leroy. His lecture titled In search of software perfection, given on 24 November 2016, will investigate what is involved during the construction and verification of life-critical software.