Detecting Program Components With Equivalent Behaviors

Loading...
Thumbnail Image

Date

Authors

Yang, Wuu
Horwitz, Susan
Reps, Thomas

Advisors

License

DOI

Type

Technical Report

Journal Title

Journal ISSN

Volume Title

Publisher

University of Wisconsin-Madison Department of Computer Sciences

Grantor

Abstract

The execution behavior of a program component is defined as the sequence of values produced at the component during program execution. This paper presents an efficient algorithm for detecting program components ? in one or more program ? that exhibit identical execution behaviors. The algorithm operates on a new graph representation for programs that combines features of static-single- assignment forms and program dependence graphs. The result provides insight into the relationship between execution behaviors and (control and flow) dependence in the program. The algorithm, called the Sequence-Congruence Algorithm, is applicable to programs written in a language that includes scalar variables and constants, assignment statements, conditional statements, and while-loops. The Sequence-Congruence Algorithm can be used as the basis for an algorithm for integrating program variants.

Description

Keywords

Related Material and Data

Citation

TR840

Sponsorship

Endorsement

Review

Supplemented By

Referenced By