bugs

Penn professors are working to eliminate computer bugs — and plan to augment computer science curriculums to achieve that goal. | Courtesy of Wikimedia Commons

“Everything that has a computer in it will fail. Everything in your life — from a watch, to a car, to a radio, to an iPhone — it will fail if it has a computer in it," Apple co-founder Steve Wozniak once said.  

A group of Penn professors, however, is working to try and make those failures a little less common.

Engineering professors Benjamin Pierce, Stephanie Weirich and Steve Zdancewic have joined a group of professors from the Massachusetts Institute of Technology, Yale and Princeton to work on a project called The Science of Deep Specification.

“Deep specification” — DeepSpec for short — is described by the project's team as "gritty, precise descriptions of the behavior of software based on formal logic ... that will enable engineers not only to build bug-free programs but to verify that their programs behave exactly as they should."

Despite their potential to make life easier for consumers, deep specifications have not been a priority in the past. 

“It’s hard to create specifications, and for the most part, the software industry has found it not cost-effective at all," Weirich said. "They’ve kind of abandoned it as an academic enterprise, something that professors do but that is never going to have an impact at all. But we think this is wrong."

She and the other professors hope to make deep specifications more of a priority in the software industry.

The project has a board of technology industry advisors which include representatives from Microsoft, Google and Facebook, as well as lesser-known companies like Quviq, which tests automotive software.

Weirich and the other professors hope to change standards in academics, as well as in the tech industry.

“A big part of the pitch of our ‘expedition’ was a proposal to revamp certain aspects of the undergraduate computer science curriculum,” Pierce said. 

While classes on core computer science components, like compilers and operating systems, have had similar curricula for decades, Pierce hopes to add additional focus on the functions and intended behaviors of these systems.

“It’s not so much revamping the curriculum as augmenting it,” Zdancewic said. 

Zdancewic teaches a course on compilers, which he imagines could have a secondary component or companion course teaching complex mathematical proofs that are involved in deep specifications.

He and the other professors hope that this new computer science curriculum will become more standard across universities. The professors from MIT, Yale and Princeton are working together with professors from Penn to test drive new material, each building off of their own areas of expertise. 

“One of the great things about a research university is that the research leaks into our educational mission,” Weirich said. “We want to share this, right? And we hope through this project that we’ll be able to do even more of that.”

Comments powered by Disqus

Please note All comments are eligible for publication in The Daily Pennsylvanian.