The Systematic Design of Responsibility Analysis by Abstract Interpretation

被引:1
|
作者
Deng, Chaoqiang [1 ]
Cousot, Patrick [1 ]
机构
[1] NYU, 60 Fifth Ave, New York, NY 10011 USA
基金
美国国家科学基金会;
关键词
Responsibility analysis; abstract interpretation; cognizance; forward reachability analysis; backward accessibility analysis; trace partitioning; dependency; causality; LIBRARY; DOMAINS;
D O I
10.1145/3484938
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Given a behavior of interest, automatically determining the corresponding responsible entity (i.e., the root cause) is a task of critical importance in program static analysis. In this article, a novel definition of responsibility based on the abstraction of trace semantics is proposed, which takes into account the cognizance of observer, which, to the best of our knowledge, is a new innovative idea in program analysis. Compared to current dependency and causality analysis methods, the responsibility analysis is demonstrated to be more precise on various examples. However, the concrete trace semantics used in defining responsibility is uncomputable in general, which makes the corresponding concrete responsibility analysis undecidable. To solve this problem, the article proposes a sound framework of abstract responsibility analysis, which allows a balance between cost and precision. Essentially, the abstract analysis builds a trace partitioning automaton by an iteration of over-approximating forward reachability analysis with trace partitioning and under/over-approximating backward impossible failure accessibility analysis, and determines the bounds of potentially responsible entities along paths in the automaton. Unlike the concrete responsibility analysis that identifies exactly a single action as the responsible entity along every concrete trace, the abstract analysis may lose some precision and find multiple actions potentially responsible along each automaton path. However, the soundness is preserved, and every responsible entity in the concrete is guaranteed to be also found responsible in the abstract.
引用
收藏
页数:90
相关论文
共 50 条
  • [1] Responsibility Analysis by Abstract Interpretation
    Deng, Chaoqiang
    Cousot, Patrick
    [J]. STATIC ANALYSIS (SAS 2019), 2019, 11822 : 368 - 388
  • [2] Systematic design of program transformation frameworks by abstract interpretation
    Cousot, P
    Cousot, R
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (01) : 178 - 190
  • [3] String Analysis as an Abstract Interpretation
    Kim, Se-Won
    Choe, Kwang-Moo
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, 2011, 6538 : 294 - 308
  • [4] A Systematic Approach to Abstract Interpretation of Program Transformations
    Keidel, Sven
    Erdweg, Sebastian
    [J]. VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION, VMCAI 2020, 2020, 11990 : 136 - 157
  • [5] Towards Abstract Interpretation for Recovering Design Information
    De Roover, Coen
    Gybels, Kris
    D'Hondt, Theo
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 131 : 15 - 25
  • [6] Program analysis: The abstract interpretation perspective
    Cousot, P
    [J]. ACM SIGPLAN NOTICES, 1997, 32 (01) : 73 - 76
  • [7] Information Leakage Analysis by Abstract Interpretation
    Zanioli, Matteo
    Cortesi, Agostino
    [J]. SOFSEM 2011: THEORY AND PRACTICE OF COMPUTER SCIENCE, 2011, 6543 : 545 - 557
  • [8] Grammar analysis and parsing by abstract interpretation
    Cousot, Patrick
    Cousot, Radhia
    [J]. PROGRAM ANALYSIS AND COMPILATION, THEORY AND PRACTICE: ESSAYS DEDICATED TO REINHARD WILHELM ON THE OCCASION OF HIS 60TH BIRTHDAY, 2007, 4444 : 175 - +
  • [9] STRICTNESS ANALYSIS AND DENOTATIONAL ABSTRACT INTERPRETATION
    NIELSON, F
    [J]. INFORMATION AND COMPUTATION, 1988, 76 (01) : 29 - 92
  • [10] A Space Consumption Analysis by Abstract Interpretation
    Montenegro, Manuel
    Pena, Ricardo
    Segura, Clara
    [J]. FOUNDATIONAL AND PRACTICAL ASPECTS OF RESOURCE ANALYSIS, 2010, 6324 : 34 - 50