[PAST EVENT] Computer Science Colloquium: Raul Santelices

March 18, 2011
McGlothlin-Street Hall, Room 020
251 Jamestown Rd
Williamsburg, VA 23185Map this location
Software is constantly modified during its life cycle, posing serious risks because changes might not behave as expected or might introduce erroneous side effects. Regression testing can be used to identify existing functionality broken by changes, but it does not necessarily exercise the new effects of changes. To test these new effects, developers need to augment the existing test suite (i.e., assess this test suite and create new tests).

In this talk, I will present my work on change-effects analysis, a new kind of program analysis that enables test-suite augmentation and program merging, among other tasks. Change-effects analysis uses dependence analysis and symbolic execution to compute the conditions under which the program state is modified by a change and this effect propagates through the rest of the program. These conditions describe not only which program elements are affected by changes but also how those elements are affected. Another contribution of my work is a new method for symbolically executing program paths in groups instead of individually, which improves the scalability of change-effects analysis and has many other exciting applications. I will present empirical results showing that change-effects analysis is much more effective than traditional methods for testing changes and detecting conflicts during program merging. I will conclude this talk by discussing challenges and opportunities for new research on change-effects analysis.

[[dposhyvanyk, Denys Poshyvanyk]]