Abstract Domains of Affine Relations

被引:8
|
作者
Elder, Matt [1 ]
Lim, Junghee [2 ]
Sharma, Tushar [3 ]
Andersen, Tycho [4 ]
Reps, Thomas [5 ,6 ]
机构
[1] Quixey, Mountain View, CA 94041 USA
[2] GrammaTech Inc, Ithaca, NY 14850 USA
[3] Univ Wisconsin, Dept Comp Sci, Madison, WI 53706 USA
[4] Canon Grp Ltd, London SE1 0SU, England
[5] Univ Wisconsin, Dept Comp Sci, Madison, WI 53703 USA
[6] GrammaTech Inc, Madison, WI 53705 USA
基金
美国国家科学基金会;
关键词
Algorithms; Theory; Verification; Experimentation; Performance; Abstract domain; abstract interpretation; affine relation; static analysis; modular arithmetic; Howell form; symbolic abstraction; PRECISE INTERPROCEDURAL ANALYSIS; STATIC ANALYSIS; PROGRAMS; SYSTEM;
D O I
10.1145/2651361
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This article considers some known abstract domains for affine-relation analysis (ARA), along with several variants, and studies how they relate to each other. The various domains represent sets of points that satisfy Aline relations over variables that hold machine integers and are based on an extension of linear algebra to modules over a ring (in particular, arithmetic performed modulo 2(w), for some machine-integer width w). We show that the abstract domains of Muller-Olm/Seidl (MOS) and King,/Sondergaard (KS) are, in general, incomparable. However, we give sound interconversion methods. In other words, we give an algorithm to convert a KS element v(KS) to an overapproximating MOS element v(mos) that is, y(v(Ks)) subset of gamma(v(mos)) as well as an algorithm to convert an MOS element w(mos) to an overapproximating KS element w(KS)-that is, Y(w(mos)) subset of y(w(KS)) The article provides insight on the range of options that one has for performing ARA in a program analyzer: We describe how to perform a greedy, operator-by-operator abstraction method to obtain KS abstract transtbrmers. We also describe a more global approach to obtaining KS abstract transformers that considers the semantics of an entire instruction, basic block, or other loop-free program fragment. The latter method can yield best abstract transformers, and hence can be more precise than the former method. However, the latter method is more expensive. We also explain how to use the KS domain for interprocedural program analysis using a bit-precise concrete semantics, but without bit blasting. Categories and Subject Descriptors: D.2.4 [Software Engineering]: Software/Program Verification Assertion checkers; Formal methods; Validation; F.3.1 [Logics and Meanings of Programs]: Specifying and Verifying and Reasoning about Programs Invariants; Mechanical verification
引用
收藏
页码:1 / 73
页数:73
相关论文
共 50 条
  • [31] AN ABSTRACT THEORY OF INVERTIBLE RELATIONS
    COHN, L
    COMER, SD
    ALGEBRA UNIVERSALIS, 1988, 25 (02) : 131 - 146
  • [32] ON CONGRUENCE RELATIONS IN ABSTRACT ALGEBRAS
    ISHAQ, M
    NOTICES OF THE AMERICAN MATHEMATICAL SOCIETY, 1969, 16 (01): : 193 - &
  • [33] Abstract Domains and Solvers for Sets Reasoning
    Cox, Arlen
    Chang, Bor-Yuh Evan
    Li, Huisong
    Rival, Xavier
    LOGIC FOR PROGRAMMING, ARTIFICIAL INTELLIGENCE, AND REASONING, (LPAR-20 2015), 2015, 9450 : 356 - 371
  • [34] A logical model for relational abstract domains
    Giacobazzi, R
    Scozzari, F
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1998, 20 (05): : 1067 - 1109
  • [35] IMPROVING ABSTRACT INTERPRETATIONS BY COMBINING DOMAINS
    CODISH, M
    MULKERS, A
    BRUYNOOGHE, M
    DELABANDA, MG
    HERMENEGILDO, M
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1995, 17 (01): : 28 - 44
  • [36] A Constraint Solver Based on Abstract Domains
    Pelleau, Marie
    Mine, Antoine
    Truchet, Charlotte
    Benhamou, Frederic
    VERIFICATION, MODEL CHECKING, AND ABSTRACT INTERPRETATION (VMCAI 2013), 2013, 7737 : 434 - 454
  • [37] Abstract Domains for Database Manipulating Processes
    Schueler, Tobias
    Mennicke, Stephan
    Lochau, Malte
    RULES AND REASONING, RULEML+RR 2023, 2023, 14244 : 222 - 237
  • [38] Abstract temporal diagnosis in medical domains
    Gamper, J
    Nejdl, W
    ARTIFICIAL INTELLIGENCE IN MEDICINE, 1997, 10 (03) : 209 - 234
  • [39] Logical model for relational abstract domains
    Universita di Pisa, Pisa, Italy
    ACM Trans Program Lang Syst, 5 (1067-1109):
  • [40] Abstract domains based on regular types
    Gallagher, JP
    Henriksen, KS
    LOGIC PROGRAMMING, PROCEEDINGS, 2004, 3132 : 27 - 42