Disney and CMU develop debugging method free of energy interference
Researchers at Disney Research and Carnegie Mellon University (CMU) have developed a system for finding computer bugs in small devices that scavenge their energy from their environment and are subject to intermittent power failures.
Whether these devices harvest energy from radio waves, solar energy, heat or even vibration, it’s anticipated that they all will lose power from time to time and be forced to reboot. This unpredictable power cycling can result in code execution errors rarely if ever seen in continuously powered systems, which are difficult to diagnose with conventional debugging tools.
The Disney/CMU team built a hardware and software platform that can monitor and debug these intermittent systems without interfering with the device’s energy state. They will present the Energy-interference-free Debugger (EDB) at the International Conference on Architectural Support for Programming Languages and Operating Systems, April 2-6 in Atlanta, Ga.
Common energy-harvesting devices range from the well-known solar-powered calculator to passive radio frequency identification (RFID) tags, which are energized when radio waves target the tags. Sensors for monitoring infrastructure or the environment increasingly scavenge energy from their environment because wired power or battery replacement isn’t practical.
“The use of energy-harvesting devices will only proliferate as increasing numbers of sensor networks are deployed and other devices such as solar-powered microsatellites are invented,” said Jessica Hodgins, vice president at Disney Research. “Creating reliable software for these devices is vital. To do that, we need tools to help us detect and correct bugs.”
Unfortunately, most existing tools provide power to the device being monitored, making
"Our hardware-software debugging tool is the first ever to bring essential, familiar application development support to these intermittent devices,” said Brandon Lucia, assistant professor of electrical and computer engineering (ECE) at CMU. “The key to our approach is that we provide flexible debugging support without interfering with the target device's power system."
Two CMU ECE students and Disney lab associates – Alexei Colin, a
The EDB system can passively monitor an energy-harvesting device for its energy level, input/output events, and program events. But it also has the capability to manipulate the amount of
energy stored on the device, making it possible for an engineer to inject or remove power based on code execution, which makes it a powerful tool for finding intermittent bugs.
“We evaluated our prototype of EDB, including custom hardware, showing that it is energy interference- free in both its passive and active tasks, and that it provides invaluable debugging information that is out of reach using existing tools and techniques,” Colin said.
This work was supported by the National Science Foundation. For more information, visit the project website