Squashing code bugs
In the modern world, software is all around us, from cars to places to houses and everything in-between. Because of this, a software problem can be anything from merely inconvenient to deadly.
“Building software without the ‘bugs’ responsible for these problems is often considered the ‘holy grail’ of software engineering,” says Associate Professor David Pearce. “I’ve spent my research career developing new tools to eliminate bugs from software, including developing a new programming language called Whiley that is specifically designed to help eliminate software bugs.”
Associate Professor Pearce’s interest in this field was sparked in 2003, when he was studying for a PhD at Imperial College in London.
“In 2003 Professor Sir Tony Hoare put out a ‘grand challenge’ for computer science, calling on researchers to put their efforts towards a “verifying complier”,” Associate Professor Pearce says. “This compiler would use mathematical and logical reasoning to check the correctness of computer programmes and lead to significantly more reliable software.”
After learning more about the key technologies needed for this work, Associate Professor Pearce started work on Whiley in 2009. He has worked with researchers from Australia and South Africa, including Associate Professor Mark Utting from the University of Queensland, Dr Matt Roberts from Macquarie University, and Professor Bruce Watson from Stellenbosch University on the project. Also, as an open source software project, Whiley has received contributions from a range of people around the world.
Whiley has gained attention from academics and industry practitioners, including being used to teach students in South Africa, Australia, China, and New Zealand. It also has commercial applications, Associate Professor Pearce says.
“In the context of developing safety-critical software, such as for the aviation or aerospace industries, tools like Whiley can help ensure the software works as intended.”
“Researchers at Amazon are also exploring the use of Whiley to develop concurrent algorithms for use throughout Amazon, and many other companies like Facebook, Google, and Microsoft are investing hugely in similar software development processes as the value of software in society increases.”
Associate Professor Pearce expects to work on the Whiley project to continue for as long as he is a researcher.
“In the end, it’s not enough to develop new algorithms and technologies—you also have to get people to know about and use them. You have to market your work as much as possible and as often as possible, otherwise it gets lost in an ocean of new developments.”
“There still remains a lot of work to be done,” he says. “It certainly takes up almost all of my free time these days!
“Research can be both fascinating and frustrating at times. Work on state-of-the-art tools and techniques alongside some of the best and brightest in the world is exciting and inspirational but navigating the academic process can definitely be slow and tricky. Still, there are moments when you feel on top of the world after conquering some seemingly impossible problem, and there are few other occupations that can make you feel this way.”