A logic-based approach to program flow analysis

被引:6
|
作者
Sagiv, M [1 ]
Francez, N
Rodeh, M
Wilhelm, R
机构
[1] Tel Aviv Univ, Sch Math Sci, Dept Comp Sci, IL-69978 Tel Aviv, Israel
[2] Technion Israel Inst Technol, Dept Comp Sci, IL-32000 Haifa, Israel
[3] Univ Saarlandes, D-66123 Saarbrucken, Germany
关键词
Pointer Equality; Recursive Procedure; Horn Clause; Execution Path; Finite Graph;
D O I
10.1007/s002360050128
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
A formalism is presented for tracking assertions which hold universally, i.e., at the end of all the execution paths to a given program point, and assertions which hold existentialIy, i.e., at the end of some execution paths. In the formalism, the assertions which hold at a given execution path are uniformly defined by an entry environment which contains the assertions which hold when the execution of the program begins and an environment transformer for every program construct. The novel aspect of our formalism is that Horn clauses are used to specify the consistent environments and the meaning of program constructs. The best iterative algorithm (a notion defined by P. Cousot and R. Cousot) for tracking universal and existential assertions simultaneously is given. Conditions are presented under which the best iterative algorithm can be efficiently implemented. The formalism is applied to the pointer equality problem in Pascal. It is shown that universal pointer equalities may be used to reduce the number of superfluous existential equalities, and that existential equalities may be used to obtain more universal equalities. Recent empirical results indicate that tracking the combination of may and must equalities leads to substantial improvements in the result of the analysis. For programs without recursively defined records, the best iterative algorithm can be effectively implemented. These results apply to multiple levels of pointers and can be extended to handle possibly recursive procedures. However, for programs with recursively defined data types further approximations are necessary, e.g., by using a finite graph to model all the possible pointer equalities. For simplicity, this paper does not present an analysis algorithm for this case.
引用
收藏
页码:457 / 504
页数:48
相关论文
共 50 条
  • [1] A logic-based approach to program flow analysis
    Mooly Sagiv
    Nissim Francez
    Michael Rodeh
    Reinhard Wilhelm
    [J]. Acta Informatica, 1998, 35 : 457 - 504
  • [2] A LOGIC-BASED APPROACH TO DATA FLOW-ANALYSIS PROBLEMS
    SAGIV, S
    FRANCEZ, N
    RODEH, M
    WILHELM, R
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1990, 456 : 277 - 292
  • [3] A LOGIC-BASED PROGRAM FOR SYNTHESIS DESIGN
    HENDRICKSON, JB
    GRIER, DL
    TOCZKO, AG
    [J]. JOURNAL OF THE AMERICAN CHEMICAL SOCIETY, 1985, 107 (18) : 5228 - 5238
  • [4] Fuzzy Logic-Based Approach to Electronic Circuit Analysis
    Babanli, K. M.
    Kabaoglu, Rana Ortac
    [J]. 10TH INTERNATIONAL CONFERENCE ON THEORY AND APPLICATION OF SOFT COMPUTING, COMPUTING WITH WORDS AND PERCEPTIONS - ICSCCW-2019, 2020, 1095 : 382 - 389
  • [5] Motion analysis using a logic-based modeling approach
    Jonson, D
    DeBeer, J
    Diya, N
    [J]. COMPUTATIONAL MECHANICS: TECHNIQUES AND DEVELOPMENTS, 2000, : 1 - 8
  • [6] A Logic-Based Analysis of Responsibility
    Abarca, Aldo Ivan Ramirez
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2023, (379): : 470 - 486
  • [7] A logic-based approach for query refinement
    Stojanovic, N
    [J]. IEEE/WIC/ACM INTERNATIONAL CONFERENCE ON WEB INTELLIGENCE (WI 2004), PROCEEDINGS, 2004, : 477 - 480
  • [8] A LOGIC-BASED APPROACH TO CONCEPTUAL DATA-BASE ANALYSIS
    MICHALSKI, RS
    BASKIN, AB
    SPACKMAN, KA
    [J]. MEDICAL INFORMATICS, 1983, 8 (03): : 187 - 195
  • [9] A LOGIC-BASED APPROACH TO PROBLEMS IN PRAGMATICS
    Seuren, Pieter A. M.
    [J]. POZNAN STUDIES IN CONTEMPORARY LINGUISTICS, 2010, 46 (04): : 519 - 532
  • [10] LOGIC-BASED PROGRAM SYSTEM FOR PREDICTING DRUG INTERACTIONS
    DARVAS, F
    FUTO, I
    SZEREDI, P
    [J]. INTERNATIONAL JOURNAL OF BIO-MEDICAL COMPUTING, 1978, 9 (04): : 259 - 271