An abstract domain for analyzing heap-manipulating low-level software

被引:0
|
作者
Gulwani, Sumit [1 ]
Tiwari, Ashish [2 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
[2] SRI Int, Menlo Pk, CA 94025 USA
来源
基金
美国国家科学基金会;
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We describe an abstract domain for representing useful invariants of heap-manipulating programs (in presence of recursive data structures and pointer arithmetic) written in languages like C or low-level code. This abstract domain allows representation of must and may equalities among pointer expressions. Pointer expressions contain existentially or universally quantified integer variables guarded by some base domain constraint. We allow quantification of a special form, namely there exists for all quantification, to balance expressiveness with efficient automated deduction. The existential quantification is over some dummy non-program variables, which are automatically made explicit by our analysis to express useful program invariants. The universal quantifier is used to express properties of collections of memory locations. Our abstract interpreter automatically computes invariants about programs over this abstract domain. We present initial experimental results demonstrating the effectiveness of this abstract domain on some common coding patterns.
引用
收藏
页码:379 / +
页数:3
相关论文
共 50 条
  • [31] A Domain-Specific Language for Low-Level Secure Multiparty Computation Protocols
    Laud, Peeter
    Randmets, Jaak
    CCS'15: PROCEEDINGS OF THE 22ND ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2015, : 1492 - 1503
  • [32] Low-Level Characterization of Expressive Head Motion Through Frequency Domain Analysis
    Ding, Yu
    Shi, Lei
    Deng, Zhigang
    IEEE TRANSACTIONS ON AFFECTIVE COMPUTING, 2020, 11 (03) : 405 - 418
  • [33] Evaluating low-level software-based hardening techniques for configurable GPU architectures
    Marcio M. Goncalves
    Josie E. Rodriguez Condia
    Matteo Sonza Reorda
    Luca Sterpone
    Jose Rodrigo Azambuja
    The Journal of Supercomputing, 2022, 78 : 8081 - 8105
  • [34] A framework for embedded software portability and verification: from formal models to low-level code
    Renata Martins Gomes
    Bernhard Aichernig
    Marcel Baunach
    Software and Systems Modeling, 2024, 23 : 289 - 315
  • [35] An extensible software router data-path for dynamic low-level service deployment
    Houidi, Ines
    Louati, Wajdi
    Zeghlache, Djamal
    HPSR: 2006 WORKSHOP ON HIGH PERFORMANCE SWITCHING AND ROUTING, 2006, : 161 - +
  • [36] Evaluating low-level software-based hardening techniques for configurable GPU architectures
    Goncalves, Marcio M.
    Condia, Josie E. Rodriguez
    Reorda, Matteo Sonza
    Sterpone, Luca
    Azambuja, Jose Rodrigo
    JOURNAL OF SUPERCOMPUTING, 2022, 78 (06): : 8081 - 8105
  • [37] A framework for embedded software portability and verification: from formal models to low-level code
    Gomes, Renata Martins
    Aichernig, Bernhard
    Baunach, Marcel
    SOFTWARE AND SYSTEMS MODELING, 2024, 23 (02): : 289 - 315
  • [38] Multiverse: Compiler-Assisted Management of Dynamic Variability in Low-Level System Software
    Rommel, Florian
    Dietrich, Christian
    Rodin, Michael
    Lohmann, Daniel
    PROCEEDINGS OF THE FOURTEENTH EUROSYS CONFERENCE 2019 (EUROSYS '19), 2019,
  • [39] Process Mining meets argumentation: Explainable interpretations of low-level event logs via abstract argumentation
    Fazzinga, Bettina
    Flesca, Sergio
    Furfaro, Filippo
    Pontieri, Luigi
    INFORMATION SYSTEMS, 2022, 107
  • [40] USING DOMAIN KNOWLEDGE IN LOW-LEVEL VISUAL PROCESSING TO INTERPRET HANDWRITTEN MUSIC - AN EXPERIMENT
    ROACH, JW
    TATEM, JE
    PATTERN RECOGNITION, 1988, 21 (01) : 33 - 44