A2I - Abstract2 Interpretation

被引:20
作者
Cousot, Patrick [1 ]
Giacobazzi, Roberto [2 ,3 ]
Ranzato, Francesco [4 ]
机构
[1] NYU, Courant Inst Math Sci, New York, NY 10003 USA
[2] Univ Verona, Dipartimento Informat, Verona, Italy
[3] IMDEA Software Inst, Madrid, Spain
[4] Univ Padua, Dipartimento Matemat, Padua, Italy
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2019年 / 3卷 / POPL期
关键词
Abstract interpretation; program analysis; meta-abstract interpretation;
D O I
10.1145/3290355
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The fundamental idea of Abstract 2 Interpretation (A(2)I), also called meta-abstract interpretation, is to apply abstract interpretation to abstract interpretation-based static program analyses. A(2)I is generally meant to use abstract interpretation to analyse properties of program analysers. A(2)I can be either offline or online. Offline A(2)I is performed either before the program analysis, such as variable packing used by the Astree program analyser, or after the program analysis, such as in alarm diagnosis. Online A(2)I is performed during the program analysis, such as Venet's cofibred domains or Halbwachs et ars and Singh et al:s variable partitioning techniques for fast polyhedra/numerical abstract domains. We formalize offline and online meta-abstract interpretation and illustrate this notion with the design of widenings and the decomposition of relational abstract domains to speed-up program analyses. This shows how novel static analyses can be extracted as meta-abstract interpretations to design efficient and precise program analysis algorithms.
引用
收藏
页数:31
相关论文
共 40 条
[1]  
Abramsky S., 1994, Handbook of Logic in Computer Science, V3, P1
[2]   RECOGNIZING SAFETY AND LIVENESS [J].
ALPERN, B ;
SCHNEIDER, FB .
DISTRIBUTED COMPUTING, 1987, 2 (03) :117-126
[3]  
[Anonymous], 1999, NATO ASI SERIES F
[4]  
[Anonymous], 1977, FORMAL DESCRIPTION P
[5]  
[Anonymous], 1976, P INT S PROGR, DOI DOI 10.1145/390019.808314
[6]   Precise widening operators for convex polyhedra [J].
Bagnara, R ;
Hill, PM ;
Ricci, E ;
Zaffanella, E .
SCIENCE OF COMPUTER PROGRAMMING, 2005, 58 (1-2) :28-56
[7]  
Bertrane J., 2015, Found. Trends Program. Lang, V2, P71, DOI DOI 10.1561/2500000002
[8]  
Besson F, 1999, LECT NOTES COMPUT SC, V1694, P51
[9]   A static analyzer for large safety-critical software [J].
Blanchet, B ;
Cousot, P ;
Cousot, R ;
Feret, J ;
Mauborgne, L ;
Miné, A ;
Monniaux, D ;
Rival, X .
ACM SIGPLAN NOTICES, 2003, 38 (05) :196-207
[10]  
Bourdoncle F., 1992, Journal of Functional Programming, V2, P407, DOI 10.1017/S0956796800000496