An input-centric paradigm for program dynamic optimizations

Kai Tian, Yunlian Jiang, Eddy Z. Zhang, Xipeng Shen

Research output: Contribution to journalArticlepeer-review

11 Scopus citations


Accurately predicting program behaviors (e.g., locality, dependency, method calling frequency) is fundamental for program optimizations and runtime adaptations. Despite decades of remarkable progress, prior studies have not systematically exploited program inputs, a deciding factor for program behaviors. Triggered by the strong and predictive correlations between program inputs and behaviors that recent studies have uncovered, this work proposes to include program inputs into the focus of program behavior analysis, cultivating a new paradigm named input-centric program behavior analysis. This new approach consists of three components, forming a three-layer pyramid. At the base is program input characterization, a component for resolving the complexity in program raw inputs and the extraction of important features. In the middle is input-behavior modeling, a component for recognizing and modeling the correlations between characterized input features and program behaviors. These two components constitute input-centric program behavior analysis, which (ideally) is able to predict the large-scope behaviors of a program's execution as soon as the execution starts. The top layer of the pyramid is input-centric adaptation, which capitalizes on the novel opportunities that the first two components create to facilitate proactive adaptation for program optimizations. By centering on program inputs, the new approach resolves a proactivity- adaptivity dilemma inherent in previous techniques. Its benefits are demonstrated through proactive dynamic optimizations and version selection, yielding significant performance improvement on a set of Java and C programs.

Original languageEnglish (US)
Pages (from-to)125-139
Number of pages15
JournalACM SIGPLAN Notices
Issue number10
StatePublished - Oct 2010
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Computer Science(all)


  • Dynamic optimizations
  • Dynamic version selection
  • Java virtual machine
  • Just-in-time compilation
  • Proactivity
  • Program inputs
  • Seminal behaviors

Cite this