Better Software for Better Science
An avid fisher who loves hiking with his wife and young children, Assistant Professor Nasir Eisty has been yearning to live on Rocky Top for many years.
“Every time I have come here before, I loved it,” he said. “It felt like home.”
This fall, Eisty’s dream came true when he joined the University of Tennessee’s Min H. Kao Department of Electrical Engineering and Computer Science (EECS). Along with his family and a passion for UT football, he brings expertise in empirical software engineering.
“Software is everywhere,” Eisty said. “To make any hardware usable, even big power grids or water purification systems, you have to have software. And if that software fails, that means the software was not built correctly.”
Eisty and other members of his new Software Analytics and Intelligence Laboratory (SAIL) gather many types of data about software programs throughout their development, then analyze the data to identify possible weaknesses and learn how program design can be better optimized.
The lab is particularly concerned with scientific software, which is often developed by researchers who have specific needs but limited computer science backgrounds.
“In some kinds of software, errors can be fixed. But in scientific software—programs that help develop vaccines or cancer treatments, for example—mistakes would impact people’s lives,” Eisty explained. “So I am researching how to improve the process of developing scientific software and ensuring that they are correct and trustworthy.”
Empirical Software Engineering
Eisty has empirically studied software development for several years, including in his previous role as an assistant professor at Boise State University. He collects and analyzes data across many artifacts (variables), from code documentation and comments to the architecture of a program, issues that arise with the software, and even the programming language researchers decide to work with.
Now that he is based at EECS, Eisty has access to many more types of labs and much more scientific software.
“UT has a lot of domain science and engineering departments like physics, biology, and chemistry—places where people frequently use scientific simulations,” he said. “We also have great connections to ORNL (Oak Ridge National Laboratory), another place where researchers use sophisticated scientific software.”
To efficiently tackle the larger volume and stay on the cutting edge of the field, Eisty will now integrate artificial intelligence (AI) tools into his software analytics.
His first project at UT will be applying AI to analyze stochastic (non-deterministic) programs, which are used to create simulations in a wide variety of scientific domains.
“To be realistic, the algorithm behind the software sometimes doesn’t give exact answers. Every time you run the simulation, it can give you a different result,” Eisty explained. “If you don’t always get the same answer with the same inputs, it’s hard to make sure that the results a program produces at different times are still correct.”
To effectively evaluate non-deterministic software, Eisty and the other members of SAIL will combine AI, statistics, and other empirical software engineering methodologies.
Teaching for Impact
When teaching, Eisty integrates insights from his state-of-the-art research. He hopes to integrate scientific software design into classical software engineering courses, which typically focus on generalized or commercially viable software.
This fall, students in Eisty’s graduate-level course on advanced software engineering are getting a full sense of the software development life cycle, from planning and architecture design to coding, testing, verification, and product deployment.
“Building the next generation of software engineers is one of the best impacts my research can leave,” said Eisty. “When I bring my knowledge to the classroom and then pass it to the next generation, those students will eventually bring those best practices to real-life scientific software development. Eventually, we’ll have better science, better results, and a better world.”
Contact
Izzie Gall (egall4@utk.edu)