event

Ph.D. Defense of Dissertation: Raul Santelices

Primary tabs

Ph.D. Defense of Dissertation Announcement
--------------------------------------------------------------

Raul Santelices
School of Computer Science, College of Computing Georgia Institute of Technology raul@cc.gatech.edu

Title: Change-effects Analysis for Effective Testing and Validation of Evolving Software

Date: Wednesday, April 25, 2012
Time: 11:15am - 1:45pm, EST
Location: KACB 3100

Committee:

  • Dr. Mary Jean Harrold (Advisor, College of Computing, Georgia Tech)
  • Dr. David Notkin (Computer Science and Engineering, University of Washington)
  • Dr. Alessandro Orso (College of Computing, Georgia Tech)
  • Dr. Santosh Pande (College of Computing, Georgia Tech)
  • Dr. Spencer Rugaber (College of Computing, Georgia Tech)


Abstract:
The constant modification of software during its life cycle poses many challenges for developers and testers because changes might not behave as expected or may introduce erroneous side effects. For those reasons, it is of critical importance to analyze, test, and validate software every time it changes.

The most common method for validating modified software is regression testing, which identifies differences in the behavior of software caused by changes and determines the correctness of those differences. Most research to this date has focused on the efficiency of re-running existing test cases affected by changes during regression testing. However, little attention has been given to finding whether the test suite adequately tests the effects of changes (i.e., the behavior differences in the modified software) and which of those effects are missed during testing. In practice, it is necessary not only to re-run the test suite, but also to augment it to exercise the untested effects.

The thesis of this research is that the effects of changes on software behavior can be computed with unprecedented precision to help testers analyze the consequences of changes and augment test suites effectively. To demonstrate this thesis, this dissertation uses novel insights to introduce a fundamental understanding of how changes affect the behavior of software. Based on these foundations, the dissertation presents and studies new techniques that detect and use these effects in cost-effective ways. These techniques support test-suite augmentation by identifying the effects of individual changes that should be analyzed and tested, identifying the combined effects of multiple changes, and optimizing the computation of these effects.

This dissertation makes the following contributions to the fields of software engineering and program analysis:

  1. Principled foundations for describing precisely how changes in program code affect the behavior of modified software.
  2. A new class of precise analyses, called change-effects analysis, that are based on these foundations and compute the effects that a change has or can have on the behavior of a program.
  3. A new path-sensitive program analysis that speeds up change-effects analysis and potentially other important software-engineering techniques.
  4. New and cost-effective test-suite-augmentation approaches that, based on these analyses, compute and monitor testing requirements for changes.
  5. A new technique, also based on these analyses, that determines whether changes interact in program executions. This technique indicates whether changes interfere unexpectedly before merging them or whether changes interact as expected during testing.
  6. Empirical evidence of the effectiveness of these techniques and the mechanisms for controlling their cost.

 

Status

  • Workflow Status:Published
  • Created By:Jupiter
  • Created:04/09/2012
  • Modified By:Fletcher Moore
  • Modified:10/07/2016

Categories

  • No categories were selected.

Keywords

  • No keywords were submitted.