Princeton scientists launch ‘bug-free software’ campaign

A team led by Princeton computer scientist Andrew Appel aims to exterminate software bugs, aided by a US$10 million five-year grant from the National Science Foundation (NSF).

Appel and fellow researchers at the University of Pennsylvania, Yale University and the Massachusetts Institute of Technology plan to develop integrated tools to eliminate uncertainty from the complex task of software development.

A goal beyond the core research is to reshape the industry itself by erasing the gap between researchers, who have made significant strides in the fight against bugs, and educators who are teaching the next generation of programmers and engineers.

Andrew Appel (center), the Eugene Higgins Professor of Computer Science, and Research Scholar Lennart Beringer (third from right) are leading a team of undergraduate and graduate students and a postdoctoral research associate in project called DeepSpec, which aims to eliminate out bugs in complex software. (Photo by Frank Wojciechowski for the Office of Engineering Communications)
Andrew Appel (center), the Eugene Higgins Professor of Computer Science, and Research Scholar Lennart Beringer (third from right) are leading a team of undergraduate and graduate students and a postdoctoral research associate in project called DeepSpec, which aims to eliminate out bugs in complex software. (Photo by Frank Wojciechowski for the Office of Engineering Communications)

Software bugs and security vulnerabilities pose enormous costs and risks

“In our interconnected world, software bugs and security vulnerabilities pose enormous costs and risks,” said Appel, the Eugene Higgins Professor of Computer Science. “When you press the accelerator pedal or the brake in a modern car, for instance, you’re really just suggesting to some computer program that you want to speed up or slow down. The computer had better get it right.”

The researchers’ initial challenge will be to dissect the overwhelming complexity of modern hardware and software to uncover the factors that determine how various computer components work together.

Deep specifications

The next step is to develop ‘deep specifications’ – gritty, precise descriptions of the behaviour of software based on formal logic (deductive reasoning, the use of syllogisms and mathematics) – that will enable engineers not only to build bug-free programs but to verify that their programs behave exactly as they should. Hence, the project’s official name, Expeditions in Computing: The Science of Deep Specification (DeepSpec, for short).

“The Expeditions in Computing program enables the computing research community to pursue complex problems by supporting large project teams over a longer period of time,” said Jim Kurose, NSF’s Head for Computer and Information Science and Engineering. “This allows these researchers to pursue bold, ambitious research that moves the needle for not only computer science disciplines, but often many other disciplines as well.”

Furthering the software industry and education

The DeepSpec project is committed to revamping the business of software by promulgating its findings throughout the computer industry. The key will be changing what’s taught in colleges and universities.

DeepSpec also plans to train the next generation of researchers by hosting a two- or three-day scientific workshop in each of the five years of the NSF grant and a summer school for researchers during the second year.

Edited from press release by Cecilia Rehn.

 

More
articles