Dissemin is shutting down on January 1st, 2025

Published in

Proceedings of the 7th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering - PASTE '07

DOI: 10.1145/1251535.1251541

Links

Tools

Export citation

Search in Google Scholar

Heap analysis in the presence of collection libraries

Proceedings article published in 2007 by Mark Marron, Darko Stefanovic, Manuel V. Hermenegildo ORCID, Deepak Kapur
This paper is available in a repository.
This paper is available in a repository.

Full text: Download

Green circle
Preprint: archiving allowed
Green circle
Postprint: archiving allowed
Red circle
Published version: archiving forbidden
Data provided by SHERPA/RoMEO

Abstract

Memory analysis techniques have become sophisticated enough to model, with a high degree of accuracy, the manipulation of simple memory structures (finite structures, single/double linke d lists and trees). However, modern programming languages provide exten- sive library support including a wide range of generic collection objects that make use of complex internal data structures. While these data structures ensure that the collections are effici ent, of- ten these representations cannot be effectively modeled by existing methods (either due to excessive analysis runtime or due to the inability to represent the required information). This paper presents a method to represent collections using an abstraction of their semantics. The construction of the abs tract se- mantics for the collection objects is done in a manner that allows individual elements in the collections to be identified. Our con- struction also supports iterators over the collections and is able to model the position of the iterators with respect to the elements in the collection. By ordering the contents of the collection b ased on the iterator position, the model can represent a notion of pr ogress when iteratively manipulating the contents of a collection. These features allow strong updates to the individual elements in the col- lection as well as strong updates over the collections themselves. Categories and Subject Descriptors F.3.2 (Logics and Meanings of Programs): Semantics of Programming Languages (program analysis)