Computer Science Seminar: Automated Testing for Large Software Systems

Plan to attend a computer science seminar on Thursday, March 2 from 12:45–1:45 p.m. in Stuart Building, Room 111 featuring Amin Alipour.

The main goal of automated test generation is to improve the reliability of a program by exposing faults to developers. To this end, testing should cover the largest possible portion of the program given a test budget (i.e., time and resources) as frequently as possible. Coverage of a program entity in testing increases our confidence in the correctness of that entity. Generating various tests to cover a program entity is a particularly hard problem to solve for large software systems because the test inputs are complex and they often exhibit sophisticated feature interactions. As a result, current test generation techniques, such as symbolic execution or search-based testing, do not scale well to complex, large-scale systems.

During this computer science seminar, Alipour will present a test generation technique which aims to increase the frequency of coverage in large, complex software systems. It leverages the information of existing test cases to direct the automated testing. He will also show the results of the application of this technique to some large systems such as GCC compiler (~850K Lines of code), and Mozilla’s JavaScript engine (~120K lines of code). It increases the frequency of coverage up to the factor of 9x, compared to the state-of-the-art technique.

Alipour is a Ph.D. candidate in computer science at Oregon State University. His main research interest is in software testing and analysis, especially in designing techniques that improve the quality of large, complex software systems. His Ph.D. work has explored test input generation, regression testing, and dynamic symbolic execution. His papers won a best paper award and two invitations for journal submissions.