• DocumentCode
    3315543
  • Title

    Formal callability and its relevance and application to interprocedural data-flow analysis

  • Author

    Knoop, Jens

  • Author_Institution
    Fakultat fur Math. und Inf., Passau Univ., Germany
  • fYear
    1998
  • fDate
    14-16 May 1998
  • Firstpage
    252
  • Lastpage
    261
  • Abstract
    Formal callability is the problem of determining for every formal procedure call of a program the set of procedures it may call at run-time. This information is the key for constructing the procedure call graph of a program, a common prerequisite of static analyses of programs with procedures. Moreover, under specific side-conditions it reduces in interprocedural data-flow analysis the analysis of programs with formal procedure calls to the analyses of programs without formal calls by treating formal calls as higher-order branch statements. The author demonstrates that formal callability yields as a by-product the solution of the well-known formal reachability problem. This directly implies that formal callability is in general not decidable. However, the author shows that formal callability is decidable for programs, where formal procedure parameters do not occur in procedures, which are local to the procedure of their declaration (usually known as programs without global (formal) procedure parameters), but within a time bound which is exponential in the program size. Thus, the author complements the new decidability result by introducing in addition a safe approximation of formal callability called potential passability, which can efficiently be computed. Moreover, for programs of mode depth 2 (i.e., formal procedures do not have procedures as parameters) without global procedure parameters, formal callability and potential passability coincide
  • Keywords
    data flow analysis; decidability; formal callability; formal procedure call; higher-order branch statements; interprocedural data-flow analysis; mode depth 2 programs; potential passability; procedure call graph; program size; run-time procedure call; static analysis; time bound; Computational complexity; Computer languages; Data analysis; Doped fiber amplifiers; History; Information analysis; Optimizing compilers; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Languages, 1998. Proceedings. 1998 International Conference on
  • Conference_Location
    Chicago, IL
  • ISSN
    1074-8970
  • Print_ISBN
    0-8186-8454-2
  • Type

    conf

  • DOI
    10.1109/ICCL.1998.674175
  • Filename
    674175