Multi-university team receives $1.3M from Intel to improve firmware
Posted: 17th February 2011
Researchers at Oxford University, Princeton University, Rice University and the University of British Columbia have won a $1.3 million from Intel to create new technology that can find errors in and bolster the reliability of firmware – critical software that is embedded in computer chips at the factory.
The role of firmware includes the activity you see when your PC first boots up, called BIOS. Other types of firmware play a much broader role to help to optimize chip performance by boosting processing speed, conserving battery life, and otherwise tailoring behaviors to the current needs of the user’s software.
"The goal of our project is to create new technology that can bolster the reliability of firmware," said Oxford computer scientist Daniel Kroening, the principal investigator on the three-year project. "Chipmakers are reaching the limit with the current technology they use to create firmware and ensure that it's error-free. Our task is to come up with new ideas that the industry can carry forward."
Modern computer chips offer a complex, rich array of features. The chips need to adapt to the demands of the software running on the computer in a smart way. When faced with a heavy load, for example decoding a high-resolution video, modern microprocessors increase their speed or activate additional computational units to deliver the needed performance. When idle, they reduce speed and voltage to save energy and increase battery life in mobile devices. These types of low-level features are all managed by the device's firmware.
Firmware is intended to be invisible to the end user. The operating system and the applications are typically stored on a hard disk or flash drive, but firmware is stored inside the chip and is usually loaded at the factory. Kroening said that means engineers must get the software right before the chips are shipped. The research group tapped by Intel includes Luke Ong and Tom Melham at Oxford University; Sharad Malik at Princeton University; Moshe Vardi at Rice University; and Alan Hu at the University of British Columbia.
“We designed this program to explore high-risk/high-reward opportunities to significantly change the way firmware is developed,” said Henry Gabb, a Principal Engineer in the Intel Academic Research Office. “This diverse team identified a novel, comprehensive, and plausible approach to the problem that we are eager to explore with them.”
The group hopes to create algorithms that can automatically identify – well before the chips are built – the protocols that will govern interactions between the firmware and the chip circuitry. This advance look will give engineers more time to test firmware before hardware prototypes are even available.
“Firmware is expected to work its magic while using the minimum of computational resources,” noted Jim Grundy, the research scientist in the Intel Technology and Manufacturing Group who conceived this program. “Firmware developers pull out all the stops while eschewing many developments in programming languages because of their associated overhead. This team proposed several lines of research that could revolutionize the speed and confidence with which firmware is developed and validated.”
The group aims to automate the analysis of low-level programming, like the machine-level assembly code that is commonplace in firmware. The most important aspects of firmware – its ability to manage resource usage and balance concurrent tasks – will also be supported by custom-made extensions to existing programming languages. Such extensions may also help detect problems. The tools developed by the team should make it more economical to develop and test firmware. The group plans to share the results of the research project with the open source community.