In the world of academia, sometimes the most innovative research isn’t practical. Yet new Assistant Professor David Devecsery believes he has a duty to build usable systems.
“I want to create better systems and ways of doing things with hopes someone else will use it,” he said.
Devecsery has been working on finding solutions to real-world problems since college. In his junior year as a computer science student at the University of Michigan, where he also completed his M.S. and Ph.D., Devecsery joined an embedded systems project to help spread information in the developing world.
The Talking Book was an audio computer created to transmit information in some of the world’s poorest countries, where electricity is unreliable and cellphones are too expensive.
Yet the device’s original format cost $45 to build and wasn’t energy efficient, so Devecsery and his team developed an inexpensive custom microprocessor. He helped design the project from the original chip to the computer’s applications. The three-year endeavor solidified his interest in systems.
Designing and building an entire computing stack from the ground up came with challenges. Debugging the chip was no easy feat, especially when the debugging interface itself had a bug.
“It’s very nice to look at buggy software and make it reliable and understand how it doesn’t work,” he said.
Solving system failure
As software systems grow more complex, they become more challenging to debug. Having tools to analyze and understand the space is important if software is going to be scaled effectively. With this in mind, Devecsery’s systems research has focused on two avenues: eidetic systems and optimistic hybrid analysis.
Eidetic computer systems have the ability to recall any past setup or state of the computer. Therefore, they can be useful in recreating events to help figure out what happened during a system failure or a cyberattack. The process is typically time-consuming and manual, but Devecsery’s research automates it. With this information, researchers can learn how to improve software or debug more efficiently.
“Most of these scenarios are preventable with techniques we know today, but most are too expensive to do practically,” Devecsery said. “The research is how we can take techniques and make them more efficient so we can use them today.”
Georgia Tech researchers are already using Devecsery’s work. One of the most promising cybersecurity breakthroughs of the last year was the Refinable Attack INvestigation (RAIN), which is a new software system that enables researchers to accurately and quickly determine how and when intruders entered a network, what data they took, and what systems were compromised.
Optimistic hybrid analysis helps to prevent many software bugs, such as data-races. A data-race occurs when a system attempts to perform two or more operations on the same data simultaneously. Although computer scientists already have the tools to do data-race detection, they slow the system down by 10 times and are often inaccurate.
Devecsery’s work uses a strategic mix of static (examining code without running the program) and dynamic (examining code while running the program), or hybrid, analysis. By making dynamic observations of the code, researchers can trim down how much static analysis they must do, making it much more efficient.
Training better systems researchers
Devecsery is also passionate about training future researchers to do this work. He has been teaching since he joined his high school’s tutoring club and considers it one of the main reasons he was drawn to academia. He prefers an active learning approach where he gives students difficult questions to discuss with a partner and then apply to a real-world situation.
After joining the School of Computer Science in the fall semester, he found the next generation of researchers. The students are “extremely intelligent and think creatively about research,” according to Devecsery.
“I really believe when you give students a challenge and they come to you for help, you never really tell them the answer,” he said. “You just turn on a light down that path and encourage them to take a step in the right direction.”