Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
Fluid Updates: Beyond Strong vs. Weak Isil Dillig Thomas Dillig Alex Aiken
 

Summary: Fluid Updates: Beyond Strong vs. Weak
Updates
Isil Dillig Thomas Dillig Alex Aiken
{isil, tdillig, aiken}@cs.stanford.edu
Department of Computer Science, Stanford University
Abstract. We describe a symbolic heap abstraction that unifies reason-
ing about arrays, pointers, and scalars, and we define a fluid update
operation on this symbolic heap that relaxes the dichotomy between
strong and weak updates. Our technique is fully automatic, does not
suffer from the kind of state-space explosion problem partition-based
approaches are prone to, and can naturally express properties that hold
for non-contiguous array elements. We demonstrate the effectiveness of
this technique by evaluating it on challenging array benchmarks and
by automatically verifying buffer accesses and dereferences in five Unix
Coreutils applications with no annotations or false alarms.
1 Introduction
In existing work on pointer and shape analysis, there is a fundamental distinction
between two kinds of updates to memory locations: weak updates and strong
updates [14]. A strong update overwrites the old content of an abstract memory
location l with a new value, whereas a weak update adds new values to the

  

Source: Aiken, Alex - Department of Computer Science, Stanford University
Pratt, Vaughan - Department of Computer Science, Stanford University

 

Collections: Computer Technologies and Information Sciences