When Alex Groce started programming computers at age 10, they seemed like “the ultimate toy,” he says. “Tinker toys are complicated, but with a computer you could build something in an afternoon so complicated that you couldn’t even understand everything it's going to do.”
Years later, he is still intrigued by the unpredictable aspects of computer software. Specifically, he works on software testing — uncovering the bugs hidden in lines of code.
Introduced to computers by his parents who were both high school teachers, Groce’s early projects reflected some of his other interests. For example, he wrote one program to solve logic puzzles and another that would rearrange and combine the words of stories or poetry to look statistically similar to the originals, but nonsensical.
He was able to pursue his dual interest in computer science and English literature at North Carolina State University through a multidisciplinary program which aims to educate well-rounded engineers. But then in graduate school he focused on computer science, receiving his PhD from Carnegie Mellon University.
Before coming to OSU, Groce worked at NASA’s Jet Propulsion Laboratory on embedded systems such as robots used in space exploration where software bugs can be disastrous for a mission.
At OSU, Groce researches ways to improve software testing techniques.
“People aren’t very good at generating tests for software, but we can write programs that do a much better job,” he says. “I’m working on ways of making the tests more efficient and comprehensive so we can find more bugs earlier.”
Because his research is fundamental to many types software it impacts areas as diverse as safety-critical software, like collision avoidance systems for airplanes, and web browsing, where finding security flaws could prevent hackers from stealing personal information.
Opportunities for collaboration and teaching are what lured Groce back to academia. At OSU Groce has expanded his areas of research by working with other faculty and students in the areas of machine learning and human computer interaction.
He teaches the undergraduate introductory courses on software testing and model checking, which he says many universities do not even offer. To make the hands-on learning more fun he has the students program a simplified version of the card game Dominion, and then they work in groups to test each other’s code.
“Games are nice in that they include rules — which are supposed to completely explain the game in such a way there is no question if it’s being played correctly — but like real software specifications, the rules are hard to read and sometimes leave puzzling cases where you can't quite figure things out,” Groce says.
In recognition for his outstanding research and innovative teaching, Groce received a CAREER award in 2011 from the National Science Foundation, given to the most promising faculty at the beginning of their careers.
Although he did not pursue literature as a career, Groce says he still enjoys a good book and prizes a well written paper over other accomplishments. He continues to enjoy games and puzzles but admits to losing regularly to his wife.
“I think my wife is just very good at games,” he says with a smile.
—By Rachel Robertson