• Home
  • Search
  • Symbolic pointer analysis for detecting memory leaks
  • Cite Icon17
  • https://doi.org/10.1145/328691.328704Copy DOI Icon

Symbolic pointer analysis for detecting memory leaks

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

It is well accepted that pointers are a common source of memory anomalies such as loosing references to dynamic records without deallocating them (also known as memory leaks). This paper presents a novel pointer analysis framework that detects memory leaks by statically analyzing the behavior of programs. Our approach is based on symbolic evaluation of programs. Symbolic evaluation is an advanced static symbolic analysis that is centered around symbolic variable values, assumptions about and constraints between variable values, and control flow information (path conditions). As part of symbolic evaluation we introduce a new symbolic heap algebra for modeling heap operations. Predicates — defined over the program's input — are derived which allow to detect memory leaks. Our approach goes beyond previous work in the field of statically detecting memory leaks by considering also path conditions which increases the accuracy of our results, symbolically modeling heap data structures and heap operations. Examples are used to illustrate the effectiveness of our approach.

Similar Papers
  • PDF
  • Research Article
  • Citations20

Do Memories Haunt You? An Automated Black Box Testing Approach for Detecting Memory Leaks in Android Apps

  • Jan 01, 2020
  • IEEE Access
  • Domenico Amalfitano +3
  • Research Article
  • Citations148

Efficient path conditions in dependence graphs for software safety analysis

  • Oct 01, 2006
  • ACM Transactions on Software Engineering and Methodology
  • Gregor Snelting +2
  • Conference Article
  • Citations3

Design and Implementation of a C++ Memory Leak Detection Tool Based on Dynamic Instrumentation

  • Jul 01, 2016
  • Liang Zhou +4
  • Conference Article

Dynamic memory access monitoring based on tagged memory

  • Sep 01, 2013
  • Mikhail Gorelov +1
  • Research Article
  • Citations5

A memory-related vulnerability detection approach based on vulnerability model with Petri Net

  • Feb 10, 2023
  • Journal of Logical and Algebraic Methods in Programming
  • Jinfu Chen +4
  • Conference Article
  • Citations9

Binary-oriented hybrid fuzz testing

  • Sep 01, 2015
  • Dong Fangquan +3
  • Research Article
  • Citations7

Lazy symbolic execution for test data generation

  • Apr 01, 2011
  • IET Software
  • M.X Lin +3
  • Research Article
  • Citations15

Higher order symbolic execution for contract verification and refutation

  • Dec 21, 2016
  • Journal of Functional Programming
  • Phúc C Nguyên +2
  • Conference Article
  • Citations31

Compositional Symbolic Execution with Memoized Replay

  • May 01, 2015
  • Rui Qiu +3
  • Conference Article
  • Citations45

MPro: Combining Static and Symbolic Analysis for Scalable Testing of Smart Contract

  • Oct 01, 2019
  • William Zhang +4
  • Research Article
  • Citations9

Computing and visualizing the impact of change with Java PathFinder extensions

  • Nov 27, 2012
  • ACM SIGSOFT Software Engineering Notes
  • Eric Mercer +2
  • Conference Article
  • Citations7

SUSHI and TARDIS at the SBST2019 Tool Competition

  • May 01, 2019
  • Pietro Braione +1
  • Research Article
  • Citations104

Symbolic Evaluation and the Analysis of Programs

  • Jul 01, 1979
  • IEEE Transactions on Software Engineering
  • T.E Cheatham +2
  • Research Article
  • Citations2

Supporting the debugging of Erlang programs by symbolic execution

  • Oct 01, 2024
  • Acta Universitatis Sapientiae, Informatica
  • Zsófia Erdei +2
  • Research Article
  • Citations6

An integrated dynamic memory tracing tool for C++

  • Nov 16, 2002
  • Information Sciences
  • Woo Hyong Lee +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.