Principles of Staged Static plus Dynamic Partial Analysis

被引:1
|
作者
Anand, Aditya [1 ]
Thakur, Manas [1 ]
机构
[1] Indian Inst Technol Mandi, Kamand, India
来源
STATIC ANALYSIS, SAS 2022 | 2022年 / 13790卷
关键词
Staged analysis; Partial evaluation; Partial analysis; POINTER;
D O I
10.1007/978-3-031-22308-2_4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In spite of decades of static-analysis research behind developing precise whole-program analyses, languages that use just-in-time (JIT) compilers suffer from the imprecision of resource-bound analyses local to the scope of compilation. Recent promising approaches bridge this gap by splitting program analysis into two phases: a static phase that identifies interprocedural dependencies across program elements, and a dynamic phase that resolves those dependencies to generate final analysis results. Though this approach is capable of generating precise analysis results without incurring analysis cost in JIT compilers, such "staged analyses" lack a theoretical backing. In particular, it is unclear if one could transform a general whole-program analysis (that resolves dependencies across all program elements) to a staged one that involves evaluation of statically generated partial results later. Similarly, it would be interesting if one could generate such "partial-result evaluators" in a way that can also be used to argue about their correctness. In this paper, we propose a novel model of static+dynamic partial analysis that addresses all these points, based on the classic theory of partial evaluation. We begin by shedding light on the enigmatic idea of partial evaluation as well as the associated notion of Futamura projections to generate specialized program interpreters. We then describe partial analysis as the process of evaluating dependencies across program elements with respect to the statically available parts of a program, resulting into partial results. Next, we devise a strategy (by deriving a novel notion of AM projections from Futamura projections) to statically generate specialized evaluators that can process partial results using dynamic dependencies, at run-time. Later, we use our proposed model to straightforwardly establish the correctness and precision properties of the idea of staging, independent of the program analysis under consideration. We demonstrate the applicability of our model by showcasing examples from non-trivial Java program analyses, implementing the pipeline for one of them, and also discussing future possibilities to extend the same. We believe that our contributions in formulating this theory of partial analysis will significantly extend the usage of existing partial analyzers, as well as promote the design of new ones, for and even beyond Java.
引用
收藏
页码:44 / 73
页数:30
相关论文
共 50 条
  • [1] Principles of Staged Static+Dynamic Partial Analysis
    Anand, Aditya
    Thakur, Manas
    Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 2022, 13790 LNCS : 44 - 73
  • [2] A Study of the Impact of Callbacks in Staged Static plus Dynamic Partial Analysis
    Anand, Aditya
    COMPANION PROCEEDINGS OF THE 2022 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SYSTEMS, PROGRAMMING, LANGUAGES, AND APPLICATIONS: SOFTWARE FOR HUMANITY, SPLASH COMPANION 2022, 2022, : 72 - 74
  • [3] STATIC AND DYNAMIC PRINCIPLES IN ART
    Campbell-Fisher, Ivy G.
    JOURNAL OF GENERAL PSYCHOLOGY, 1951, 45 (01): : 25 - 55
  • [5] Variational principles on static-dynamic analysis of viscoelastic thin plates with applications
    Cheng, CJ
    Zhang, NH
    INTERNATIONAL JOURNAL OF SOLIDS AND STRUCTURES, 1998, 35 (33) : 4491 - 4505
  • [6] Partial program analysis for staged compilation systems
    Anand, Aditya
    Thakur, Manas
    FORMAL METHODS IN SYSTEM DESIGN, 2024,
  • [7] The basic principles of the static and dynamic displacement theory
    Reichinstein, D
    ZEITSCHRIFT FUR ELEKTROCHEMIE UND ANGEWANDTE PHYSIKALISCHE CHEMIE, 1931, 37 : 365 - 371
  • [8] NEW VARIATIONAL PRINCIPLES FOR DYNAMIC AND STATIC POLARIZABILITY
    REBANE, TK
    OPTICS AND SPECTROSCOPY-USSR, 1966, 21 (01): : 66 - &
  • [9] Pressure Sensors: Working Principles of Static and Dynamic Calibration
    Pereira, Jose Dias
    SENSORS, 2024, 24 (02)
  • [10] ARGUS: A Framework for Staged Static Taint Analysis of GitHubWorkflows and Actions
    Muralee, Siddharth
    Koishybayev, Igibek
    Nahapetyan, Aleksandr
    Tystahl, Greg
    Reaves, Brad
    Bianchi, Antonio
    Enck, William
    Kapravelos, Alexandros
    Machiry, Aravind
    PROCEEDINGS OF THE 32ND USENIX SECURITY SYMPOSIUM, 2023, : 6983 - 7000