Logic-flow analysis of higher-order programs

被引:0
|
作者
Might, Matthew [1 ]
机构
[1] Georgia Inst Technol, Atlanta, GA 30332 USA
关键词
languages; logic-flow analysis; LFA; static analysis; environment analysis; lambda calculus; CPS; abstract garbage collection; abstract counting; Gamma-CFA first-order logic; theorem proving;
D O I
10.1145/1190215.1190247
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This work presents a framework for fusing flow analysis and theorem proving called logic-flow analysis (LFA). The framework itself is the reduced product of two abstract interpretations: (1) an abstract state machine and (2) a set of propositions in a restricted first-order logic. The motivating application for LFA is the safe removal of implicit array-bounds checks without type information, user interaction or program annotation. LFA achieves this by delegating a given task to either the prover or the flow analysis depending on which is best suited to discharge it. Described within are a concrete semantics for continuation-passing style; a restricted, first-order logic; a woven product of two abstract interpretations; proofs of correctness; and a worked example.
引用
收藏
页码:185 / 198
页数:14
相关论文
共 50 条
  • [1] Logic-Flow Analysis of Higher-Order Programs
    Might, Matthew
    CONFERENCE RECORD OF POPL 2007: THE 34TH ACM SIGPLAN SIGACT SYMPOSIUM ON PRINCIPLES OF PROGAMMING LANGUAGES, 2007, : 185 - 198
  • [2] Learning higher-order logic programs
    Andrew Cropper
    Rolf Morel
    Stephen Muggleton
    Machine Learning, 2020, 109 : 1289 - 1322
  • [3] Learning higher-order logic programs
    Cropper, Andrew
    Morel, Rolf
    Muggleton, Stephen
    MACHINE LEARNING, 2020, 109 (07) : 1289 - 1322
  • [4] Higher-order transformation of logic programs
    Seres, S
    Spivey, M
    LOGIC BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2001, 2042 : 57 - 68
  • [5] Refinement of higher-order logic programs
    Colvin, R
    Hayes, I
    Hemer, D
    Strooper, P
    LOGIC BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2003, 2664 : 126 - 143
  • [6] A relational logic for higher-Order programs
    Aguirre A.
    Barthe G.
    Gaboardi M.
    Garg D.
    Strub P.-Y.
    2017, Association for Computing Machinery (01)
  • [7] A relational logic for higher-order programs
    Aguirre, Alejandro
    Barthe, Gilles
    Gaboardi, Marco
    Garg, Deepak
    Strub, Pierre-Yves
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2019, 29
  • [8] Flow analysis of lazy higher-order functional programs
    Jones, Neil D.
    Andersen, Nils
    THEORETICAL COMPUTER SCIENCE, 2007, 375 (1-3) : 120 - 136
  • [9] Proving pointer programs in higher-order logic
    Mehta, F
    Nipkow, T
    AUTOMATED DEDUCTION - CADE-19, PROCEEDINGS, 2003, 2741 : 121 - 135
  • [10] A Temporal Logic for Higher-Order Functional Programs
    Okuyama, Yuya
    Tsukada, Takeshi
    Kobayashi, Naoki
    STATIC ANALYSIS (SAS 2019), 2019, 11822 : 437 - 458