• DocumentCode
    2036121
  • Title

    Incremental call graph reanalysis for object-oriented software maintenance

  • Author

    Souter, Amie L. ; Pollock, Lori L.

  • Author_Institution
    Dept. of Comput. & Inf. Sci., Delaware Univ., Newark, DE, USA
  • fYear
    2001
  • fDate
    2001
  • Firstpage
    682
  • Lastpage
    691
  • Abstract
    A program´s call graph is an essential underlying structure for performing the various interprocedural analyses used in software development tools for object-oriented software systems. For interactive software development tools and software maintenance activities, the call graph needs to remain fairly precise and be updated quickly in response to software changes. The paper presents incremental algorithms for updating a call graph that has been initially constructed using the Cartesian Product Algorithm, which computes a highly precise call graph in the presence of dynamically dispatched message sends. Templates are exploited to reduce unnecessary reanalysis as software component changes occur. The preliminary empirical results from our implementation within a Java environment are encouraging. Significant time savings were observed for the incremental algorithm in comparison with an exhaustive analysis, with no loss in precision
  • Keywords
    Java; graph theory; interactive systems; object-oriented programming; program diagnostics; software maintenance; Cartesian Product Algorithm; Java environment; dynamically dispatched message sends; exhaustive analysis; highly precise call graph; incremental algorithm; incremental algorithms; incremental call graph reanalysis; interactive software development tools; interprocedural analyses; object-oriented software maintenance; object-oriented software systems; program call graph; software changes; software component changes; software development tools; software maintenance activities; unnecessary reanalysis; Algorithm design and analysis; Application software; Data flow computing; Flow graphs; Information analysis; Java; Performance analysis; Software libraries; Software maintenance; Software tools;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2001. Proceedings. IEEE International Conference on
  • Conference_Location
    Florence
  • ISSN
    1063-6773
  • Print_ISBN
    0-7695-1189-9
  • Type

    conf

  • DOI
    10.1109/ICSM.2001.972787
  • Filename
    972787