Analysis of input-dependent program behavior using active profiling

  • Authors:
  • Xipeng Shen;Chengliang Zhang;Chen Ding;Michael L. Scott;Sandhya Dwarkadas;Mitsunori Ogihara

  • Affiliations:
  • Computer Science Department, The College of William and Mary;Computer Science Department, University of Rochester;Computer Science Department, University of Rochester;Computer Science Department, University of Rochester;Computer Science Department, University of Rochester;Computer Science Department, University of Rochester

  • Venue:
  • ecs'07 Experimental computer science on Experimental computer science
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Utility programs, which perform similar and largely independent operations on a sequence of inputs, include such common applications as compilers, interpreters, and document parsers; databases; and compression and encoding tools. The repetitive behavior of these programs, while often clear to users, has been difficult to capture automatically. We present an active profiling technique in which controlled inputs to utility programs are used to expose execution phases, which are then marked, automatically, through binary instrumentation, enabling us to exploit phase transitions in production runs with arbitrary inputs. Experiments with five programs from the SPEC benchmark suites show that phase behavior is surprisingly predictable in many (though not all) cases. This predictability can in turn be used for optimized memory management leading to significant performance improvement.