• Home
  • Search
  • Detecting memory errors via static pointer analysis (preliminary experience)
  • Cite Icon6
  • https://doi.org/10.1145/277633.277637Copy DOI Icon

Detecting memory errors via static pointer analysis (preliminary experience)

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

Programs which manipulate pointers are hard to debug. Pointer analysis algorithms (originally aimed at optimizing compilers) may provide some remedy by identifying potential errors such as dereferencing NULL pointers by statically analyzing the behavior of programs on all their input data.Our goal is to identify the "core program analysis techniques" that can be used when developing realistic tools which detect memory errors at compile time without, generating too many false alarms. Our preliminary experience indicates that the following techniques are necessary: (i) finding aliases between pointers, (ii) flow sensitive techniques that account, for the program control flow constructs. (iii) partial interpretation of conditional statements, (iv) analysis of the relationships between pointers, and sometimes (v) analysis of the underlying data structures manipulated by the C program.We show that a combination of these techniques can yield better results than those achieved by state of the art tools. Yet it is not clear to us whether our ideas are applicable to large programs.

Similar Papers
  • Conference Article
  • Citations155

Flow-sensitive pointer analysis for millions of lines of code

  • Apr 02, 2011
  • Ben Hardekopf +1
  • Research Article
  • Citations4

Summary-based pointer analysis framework for modular bug finding

  • Jan 01, 2008
  • Columbia Academic Commons (Columbia University)
  • Stephen A Edwards +2
  • Conference Article
  • Citations8

Pointer Analysis for Source-to-Source Transformations

  • Sep 30, 2005
  • M Buss +3
  • Conference Article
  • Citations61

Program slicing enhances a verification technique combining static and dynamic analysis

  • Mar 26, 2012
  • Omar Chebaro +3
  • Book Chapter
  • Citations76

Taming False Alarms from a Domain-Unaware C Analyzer by a Bayesian Statistical Post Analysis

  • Jan 01, 2005
  • Yungbum Jung +3
  • Book Chapter
  • Citations3

Enforcing Information Flow by Combining Static and Dynamic Analysis

  • Jan 01, 2014
  • Andrew Bedford +3
  • Conference Article

Parallelizing Flow-Sensitive Demand-Driven Points-to Analysis

  • Dec 01, 2020
  • Haibo Yu +5
  • Conference Article
  • Citations2

Ensuring correct cryptographic algorithm and provider usage at compile time

  • Jul 11, 2021
  • Weitian Xing +2
  • Conference Article
  • Citations16

Boosting static analysis accuracy with instrumented test executions

  • Aug 18, 2021
  • Tianyi Chen +2
  • Conference Article
  • Citations2

Coherency Traffic Reduction in Manycore Systems

  • Aug 01, 2022
  • Erdem Derebasoglu +2
  • Conference Article
  • Citations4

Towards Path-Sensitive Points-to Analysis

  • Sep 01, 2007
  • Tobias Gutzmann +2
  • Research Article
  • Citations1

An Ahead-of-time Yet Context-Sensitive Points-to Analysis for Java

  • Nov 27, 2009
  • Electronic Notes in Theoretical Computer Science
  • Xin Li +1
  • Research Article
  • Citations32

Abstractions from tests

  • Jan 18, 2012
  • ACM SIGPLAN Notices
  • Mayur Naik +3
  • Research Article
  • Citations4

Core Working Set Based Scratchpad Memory Management

  • Jan 01, 2011
  • IEICE Transactions on Information and Systems
  • Ning Deng +4
  • Book Chapter
  • Citations3

Using Static Analysis to Compile Non-sequential Functional Logic Programs?

  • Jan 01, 1999
  • Julio Mariño +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.