Research at VUW aims to create a safer software world – without errors

Press Release – Victoria University of Wellington

Dr David Pearce

Research at Victoria University into a new programming language has the potential to prevent future software failures in safety-critical systems.

Infamous examples of software failures include the Therac-25 disaster, where a computer-operated radiation therapy machine gave patients lethal doses; and an enormous power outage in the United States in 2003, which led to around 45 million people being without electricity for up to two days.

In New Zealand, software glitches have caused a bank to mistakenly gift its customers unlimited overdraft access (TSB, 2012); a security system to open what should have been a closed supermarket (Mill St Pak ‘n Save in Hamilton, 2011); and broadband meters to incorrectly calculate usage (Telecom, 2011).

Dr David Pearce (photo above), from Victoria’s School of Engineering and Computer Science, has designed a programming language that uses automated mathematical and logical reasoning to check computer software decisions are correct.

“Currently, the most widely accepted way of eliminating software errors is through extensive testing. But as systems become increasingly complex this cannot always guarantee the absence of errors, because in large systems it simply isn’t feasible to test every possible input,” he says.

“Software is becoming more and more ubiquitous—it’s involved in all sorts of things we do in the modern world. As software engineers we need to find ways of making sure we eliminate as many errors as we possibly can.”

Dr Pearce has been developing the programming language, Whiley, since 2009 and in 2011 received a Marsden Fast-Start grant to further its progression.

Dr Pearce sees Whiley having applications for everyday software programs, as well as highly-specialised software for systems where people’s safety is paramount, such as modern cars, which now typically run on close to 100 million lines of computer code.

“Certain mistakes are common in computer programs, for example overflow errors, where a number is simply too large for the computer to handle,” he says. “Whiley has the potential to ensure that scenarios like this can be avoided in the future, by testing the logic of the program in advance.”

Content Sourced from
Original url


No comments yet.

Write a comment: