• DocumentCode
    2872646
  • Title

    Constructing Accurate Application Call Graphs For Java To Model Library Callbacks

  • Author

    Zhang, Weilei ; Ryder, Barbara

  • Author_Institution
    Rutgers University, USA
  • fYear
    2006
  • fDate
    Sept. 2006
  • Firstpage
    63
  • Lastpage
    74
  • Abstract
    Call graphs are widely used to represent calling relationships among methods. However, there is not much interest in calling relationships among library methods in many software engineering applications such as program understanding and testing, especially when the library is very big and the calling relationships are not trivial. This paper explores approaches to generate more accurate application call graphs for Java. A new data reachability algorithm is proposed and fine-tuned to resolve library callbacks accurately. Compared to a simple algorithm that generates an application call graph by traversing the whole-programcall graph, the fine-tuned data reachability algorithm results in fewer spurious callback edges. In experiments with the spec jvm98 benchmarks, the new algorithm shows a significant reduction in the number of spurious callback edges over the simple algorithm: on average, the number of callback edges is reduced by 74.97%, amounting to overall 64.43% edge reduction for the generated application call graphs.
  • Keywords
    Application software; Computer science; Conferences; Costs; Information analysis; Java; Software engineering; Software libraries; Software testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation, 2006. SCAM '06. Sixth IEEE International Workshop on
  • Conference_Location
    Philadelphia, PA, USA
  • Print_ISBN
    0-7695-2353-6
  • Type

    conf

  • DOI
    10.1109/SCAM.2006.9
  • Filename
    4026856