Cohen's Career Award to help make software more reliable

Released on 04/16/2008, at 2:00 AM
Office of University Communications
University of Nebraska–Lincoln
Lincoln, Neb., April 16th, 2008 —
Color JPEG image of Myra Cohen. Cohen is at left; at right in the background is doctoral student Jiangfan Shi testing software product lines.
Color JPEG image of Myra Cohen. Cohen is at left; at right in the background is doctoral student Jiangfan Shi testing software product lines.

Maybe this happens to you: Your boss purchases the latest version of software that the office has used for years. Your coworkers adjust effortlessly. You, on the other hand, can't finish the simplest task without the program misbehaving and doing things you don't expect.

Are your coworkers more computer-savvy? Maybe, but it's more likely that the features and preferences you've selected are to blame. Those subtle changes affect how the entire program runs and may create glitches and frustrations for the user.

That's where Myra Cohen, a University of Nebraska-Lincoln computer scientist, comes in.

Cohen recently won a five-year, $400,000 Faculty Early Career Development Award to develop algorithms to better test highly configurable software systems, such as Web browsers and databases. The National Science Foundation gives Career Awards to outstanding pre-tenure faculty to help them develop as teacher-scholars and researchers.

Most modern software programs have millions of combinations of optional features. Cohen said it's difficult -- if not impossible -- for companies to test how each will interact.

Software engineers focus on testing the program's default version and may gather small samples of user feedback. But some companies don't consider how user preferences change the underlying code.

"Right now, when users pick combinations that haven't been tested, they have no guarantee that their software is going to function properly," Cohen said. They also aren't likely to know which combinations have been tested.

Cohen is developing a sampling technique that combines all pairs of combinations of user options. She said it would be a more quantifiable and reliable approach to software testing.

The results of Cohen's research will be especially valuable to the financial industry and to national defense, said Richard Sincovec, chair of the Department of Computer Science and Engineering.

"Since computer software is pervasive in all aspects of our lives, dependable software is strategically important to everyone, including business and government in the state of Nebraska and in the United States," Sincovec said.

Cohen said she realized the potential for this methodology while working on her master's thesis at the University of Vermont. "There was a lot of research in the mathematics community and the software engineering community, but I could see a need to combine them and for someone who could understand the theoretical aspects, but also how to apply it," Cohen said. "I really enjoy working on both ends."

Getting students to adopt that mindset early in their academic careers is important, Cohen said, so she is recruiting a team of undergraduates to assist with her research.

"I think it's very important to get undergraduate students involved in research and get them fully exposed to what it's like to be in grad school," she said.

Cohen earned her bachelor's degree from Cornell University in Ithaca, N.Y., her master's from the University of Vermont and her doctorate from the University of Auckland, New Zealand. Since joining UNL in 2004 as an assistant professor of computer science and engineering, she has earned funding for her research from NSF, local industry and the Experimental Program to Stimulate Competitive Research.

"It's very exciting," she said. "It's going to give me the ability to work on research I've always wanted to do."