View Full Document

Selecting Peers for Execution Comparison



View the full content.
View Full Document
View Full Document

3 views

Unformatted text preview:

Selecting Peers for Execution Comparison William N Sumner Tao Bao Xiangyu Zhang Dept of Computer Science Purdue University West Lafayette Indiana USA wsumner tbao xyzhang cs purdue edu ABSTRACT Execution comparison is becoming more common as a means of debugging faulty programs or simply explaining program behavior Oftentimes such as when debugging the goal is to understand particular aspects of a single execution and it is not immediately clear against what we should compare this execution Prior work has led to approaches for acquiring a second execution or peer with which to compare the first The earliest of these involved searching a test suite for suitable candidates More recently the focus has been on synthesizing a new execution either by generating new input for the program or by directly mutating the execution itself In spite of these proposals it is not clear what advantages these different techniques for finding peers might have over each other In this paper we implement five different existing techniques and examine their impact on 20 real bugs These bugs represent the full set of reported bugs for three programs during one year We propose a metric to evaluate the quality of the peers It is based on the similarity of the peers to the executions of the patched programs We also discuss in detail the different scenarios where these techniques hold advantages 1 INTRODUCTION Execution comparison provides a means for developers to better understand a program s behavior Given two executions of a program a developer may compare and contrast the control flow paths taken and the values operated upon during these executions in order to better understand how and why the program behaved differently for each When one of the executions fails and the other is correct such comparison forms a basis for automated techniques toward fault localization and debugging 20 23 27 30 These techniques extract the behaviors and properties of the respective executions that correspond



Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view Selecting Peers for Execution Comparison and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Selecting Peers for Execution Comparison and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?