Application of redundant computation in software performance analysis

  • Authors:
  • Zakarya Alzamil;Bogdan Korel

  • Affiliations:
  • Riyadh College of Technology, Riyadh, Saudi Arabia;Illinois Institute of Technology, Chicago, IL

  • Venue:
  • Proceedings of the 5th international workshop on Software and performance
  • Year:
  • 2005

Quantified Score

Hi-index 0.03

Visualization

Abstract

Redundant computation is an execution of a program statement(s) that does not contribute to the program output. The same statement on one execution may exhibit redundant computation whereas on a different execution, it contributes to the program output. A redundant (dead) statement always exhibits redundant computation, i.e., its execution is always redundant. However, a statement that exhibits redundant computation is not necessarily a redundant statement. Redundant computation represents a partial redundancy of a statement. A high degree of redundant computation in a program may indicate a performance deficiency. Therefore, elimination (or reduction) of redundant computation may improve program's performance. In this paper we present an approach of automated detection of redundant computation in programs and show its application in performance analysis. We developed a tool that automatically detects redundant computations in C programs and identifies potential performance deficiencies related to redundant computation. We have performed an experimental study that showed that redundant computation is a commonly occurring phenomenon in programs, and it is frequently a source of performance deficiency.