Static insertion of safe and effective memory reuse commands into ML-like programs

  • Authors:
  • Oukseh Lee;Hongseok Yang;Kwangkeun Yi

  • Affiliations:
  • Department of Computer Science & Engineering, Hanyang University, Ansan Gyeonggi, Republic of Korea;School of Computer Science & Engineering, Seoul National University, Seoul, Republic of Korea;School of Computer Science & Engineering, Seoul National University, Seoul, Republic of Korea

  • Venue:
  • Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a static analysis that estimates reusable memory cells and a source-level transformation that adds explicit memory reuse commands into the program text. For benchmark ML programs, our analysis and transformation system achieves a memory reuse ratio from 5.2% to 91.3% and reduces the memory peak from 0.0% to 71.9%. The small-ratio cases are for programs that have a number of data structures that are shared. For other cases, our experimental results are encouraging in terms of accuracy and cost. Major features of our analysis and transformation are: (1) polyvariant analysis of functions by parameterization for the argument heap cells; (2) use of multiset formulas in expressing the sharings and partitionings of heap cells; (3) deallocations conditioned by dynamic flags that are passed as extra arguments to functions; (4) individual heap cells as the granularity of explicit memory reuse. Our analysis and transformation system is fully automatic.