• DocumentCode
    2443560
  • Title

    Uncovering performance problems in Java applications with reference propagation profiling

  • Author

    Yan, Dacong ; Xu, Guoqing ; Rountev, Atanas

  • Author_Institution
    Dept. of Comput. Sci. & Eng., Ohio State Univ., Columbus, OH, USA
  • fYear
    2012
  • fDate
    2-9 June 2012
  • Firstpage
    134
  • Lastpage
    144
  • Abstract
    Many applications suffer from run-time bloat: excessive memory usage and work to accomplish simple tasks. Bloat significantly affects scalability and performance, and exposing it requires good diagnostic tools. We present a novel analysis that profiles the run-time execution to help programmers uncover potential performance problems. The key idea of the proposed approach is to track object references, starting from object creation statements, through assignment statements, and eventually statements that perform useful operations. This propagation is abstracted by a representation we refer to as a reference propagation graph. This graph provides path information specific to reference producers and their run-time contexts. Several client analyses demonstrate the use of reference propagation profiling to uncover runtime inefficiencies. We also present a study of the properties of reference propagation graphs produced by profiling 36 Java programs. Several cases studies discuss the inefficiencies identified in some of the analyzed programs, as well as the significant improvements obtained after code optimizations.
  • Keywords
    Java; graph theory; program diagnostics; Java applications; assignment statements; code optimizations; excessive memory usage; object creation statements; object reference tracking; performance problem uncovering; reference propagation graph; reference propagation profiling; run-time bloat; run-time execution profiling; Context; Data structures; Java; Optimization; Receivers; Resource management; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering (ICSE), 2012 34th International Conference on
  • Conference_Location
    Zurich
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-4673-1066-6
  • Electronic_ISBN
    0270-5257
  • Type

    conf

  • DOI
    10.1109/ICSE.2012.6227199
  • Filename
    6227199