Symbolic Execution for Memory Consumption Analysis

被引:1
作者
Chu, Duc-Hiep [1 ]
Jaffar, Joxan [1 ]
Maghareh, Rasool [1 ]
机构
[1] Natl Univ Singapore, Singapore, Singapore
关键词
Memory Consumption Analysis; Symbolic Execution; Interpolation; Reuse;
D O I
10.1145/2907950.2907955
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
With the advances in both hardware and software of embedded systems in the past few years, dynamic memory allocation can now be safely used in embedded software. As a result, the need to develop methods to avoid heap overflow errors in safety-critical embedded systems has increased. Resource analysis of imperative programs with non-regular loop patterns and signed integers, to support both memory allocation and deallocation, has long been an open problem. Existing methods can generate symbolic bounds that are parametric w.r.t. the program inputs; such bounds, however, are imprecise in the presence of non-regular loop patterns. In this paper, we present a worst-case memory consumption analysis, based upon the framework of symbolic execution. Our assumption is that loops (and recursions) of to-be-analyzed programs are indeed bounded. We then can exhaustively unroll loops and the memory consumption of each iteration can be precisely computed and summarized for aggregation. Because of path-sensitivity, our algorithm generates more precise bounds. Importantly, we demonstrate that by introducing a new concept of reuse, symbolic execution scales to a set of realistic benchmark programs.
引用
收藏
页码:62 / 71
页数:10
相关论文
共 30 条
  • [1] Albert E, 2007, LECT NOTES COMPUT SC, V4421, P157
  • [2] Cost analysis of object-oriented bytecode programs
    Albert, Elvira
    Arenas, Puri
    Genaim, Samir
    Puebla, German
    Zanardini, Damiano
    [J]. THEORETICAL COMPUTER SCIENCE, 2012, 413 (01) : 142 - 159
  • [3] Alonso D. A., 2015, DYNAMIC MEMORY MANAG, P167
  • [4] Andersen Jeppe L, 2013, P 11 INT WORKSH JAV, P2
  • [5] [Anonymous], 2015, PEER REPORT 20152
  • [6] [Anonymous], 2016, P IEEE S REAL TIM EM
  • [7] Berger ED, 2000, ACM SIGPLAN NOTICES, V35, P117, DOI 10.1145/384264.379232
  • [8] Towards harnessing theories through tool support for hard real-time Java']Java programming
    Bogholm, Thomas
    Frost, Christian
    Hansen, Rene Rydhof
    Jensen, Casper Svenning
    Luckow, Kasper Soe
    Ravn, Anders P.
    Sondergaard, Hans
    Thomsen, Bent
    [J]. INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2013, 9 (01) : 17 - 28
  • [9] Braberman V, 2008, ISMM'08: PROCEEDINGS OF THE 2008 INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT, P141
  • [10] An infrastructure for adaptive dynamic optimization
    Bruening, D
    Garnett, T
    Amarasinghe, S
    [J]. CGO 2003: INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2003, : 265 - 275