Two UNLV computer science faculty have recently earned prestigious CAREER awards from the National Science Foundation (NSF). The awards are among the most selective research-based honors for early-career faculty members with strong potential to become leaders in their field.
UNLV computer scientists Chuck Tessler and John Businge each received grants totaling more than $550,000 to bolster their research programs in areas of dynamic memory usage in safety-critical systems, and the clone-and-own phenomenon in software development, respectively.
“Two CAREER awards in the same year is a significant milestone for our department,” said Laxmi Gewali, chair of the Computer Science Department at UNLV. “These are among the most competitive awards NSF offers, and to have two faculty recognized in the same cycle speaks to the strength of the research happening at UNLV Engineering.”
When Memory Problems are Measured in Milliseconds
Tessler’s research is examining dynamic memory problems in the systems that societies rely on to keep us safe.
“It's guaranteeing, theoretically, that everybody will always have memory when they need it,” said Tessler.
As you’re reading this article, you’re likely running an application on your computer that is borrowing memory from another application to ensure that your system runs efficiently. When you’re done using that app, the memory can be reallocated, meaning the memory is dynamic.
However, in safety-critical systems like flight control, autonomous vehicles, fire suppression, nuclear power plants, and more, current theory does not account for memory being moved around or borrowed, because it may jeopardize those time-critical operations.
“You want a mathematical guarantee that the flight control system will always respond within an amount of time — let’s say 10 milliseconds — so that when the pilot pulls on the stick he knows it's going to respond in the flight control,” Tessler said. “If it takes longer than 10 milliseconds to respond because it needs memory held by the navigation system, it could have catastrophic consequences. That’s a really difficult problem to solve.”
Tessler’s five-year research program, backed by a $564,000 CAREER award, is examining the underlying theory of dynamic memory that could be applied in myriad safety-critical situations.
“I provide the theory that engineers can then use to deploy in their systems, whether that be an airplane, a nuclear power plant, or fire suppression, and verify that they’ll always meet their timeliness guarantees,” Tessler said. “The project aims to address the fundamental challenge of how computational systems may share the increasingly limited resource of main memory while maintaining the strict timing requirements necessary to ensure their safety-critical operations.”
As part of the project, Tessler’s team will partner with two local high schools to introduce students to autonomous vehicle racing and the safety-critical issues that can arise within those systems.
Memory is one resource where “demands and expectations are already outpacing availability in today's applications such as processing video to detect pedestrians,” Tessler said, adding that that’s a core component of autonomous vehicle technology.
The high school training will mirror a college-level autonomous racing course that Tessler developed a few years ago and will culminate with the students participating in a competition. He hopes the experience will encourage students to consider computer science as a career.
Tessler added that the burgeoning cost of memory makes this project at this time even more valuable.
“We used to think of memory as being really, really cheap. Now it's really expensive,” Tessler said. “So we want to make sure that we're using that resource efficiently.”
Finding and Fixing Bugs in Cloned Code
Modern software systems rarely start entirely from scratch. Developers often use an existing project as a foundation and customize it to meet different user, organizational, or operational needs.
Through his $575,000 CAREER award, Businge is examining the long-term maintenance challenges that arise when software developers use this “clone and own” technique — a method that creates a copy of the software, commonly called a fork, that can then evolve independently.
“Clone-and-own gives developers a practical headstart because they can begin with working software instead of building everything from scratch,” said Businge. “They can remove what they do not need, modify shared components, and add capabilities for their own users. But as the related software systems continue to evolve independently, they can become substantially different even though they began with the same code.”
However, mistakes in the common source code are often found once someone begins customizing and building their own system. But by that point, it’s difficult to “find the needle in the haystack.”
“Because I’m independent, and working independently from you, you will not know that I fixed the problem on my end,” Businge said. “And you will not be able to fix the problem unless I come and dig through your code.”
It's similar to an institutional manual for a university or government entity. The basic foundation of the manual can be similar across institutions, but the nuances for each are so different that, once fully realized and built out, it could be difficult to find an error that was made in the early iterations of the manual.
“I can discover the error and fix it in my manual, but you will continue to have the same issue unless you find and fix it yourself,” Businge said, adding that the project's broader significance and importance are improving the reliability, security, and long-term sustainability of software systems while reducing duplicated engineering effort.
Businge pointed to technology we use every day as an example of the stakes. “Software in a car can be the reason an accident happens or the reason that one is prevented,” he said.
“The kind of software we’re talking about is in your vehicle, your phone, your home appliances — almost everywhere.”
Another component of the project is to strengthen the software engineering workforce by integrating research into undergraduate and graduate education, mentoring students through a shared research ecosystem, and engaging high school students in software evolution activities.
“I am honored and excited to receive this award, but I see it as a beginning rather than a destination,” Businge said. “My focus is now on delivering the work, following the new questions that emerge, and building a research program that extends well beyond these five years. I am already thinking about what comes next and how this project can provide the foundation for a broader research agenda.”