English
Related papers

Related papers: Heap Reference Analysis Using Access Graphs

200 papers

Current garbage collectors leave a lot of garbage uncollected because they conservatively approximate liveness by reachability from program variables. In this paper, we describe a sequence of static analyses that takes as input a program…

Programming Languages · Computer Science 2007-10-09 Amey Karkare , Amitabha Sanyal , Uday Khedker

With the growing sizes of data structures allocated in heap, understanding the actual use of heap memory is critically important for minimizing cache misses and reclaiming unused memory. A static analysis aimed at this is difficult because…

Programming Languages · Computer Science 2024-08-26 Vini Kanvar , Uday P. Khedker

Functional programming languages use garbage collection for heap memory management. Ideally, garbage collectors should reclaim all objects that are dead at the time of garbage collection. An object is dead at an execution instant if it is…

Programming Languages · Computer Science 2007-05-23 Amey Karkare , Uday Khedker , Amitabha Sanyal

Heap data is potentially unbounded and seemingly arbitrary. As a consequence, unlike stack and static memory, heap memory cannot be abstracted directly in terms of a fixed set of source variable names appearing in the program being…

Programming Languages · Computer Science 2016-07-05 Vini Kanvar , Uday P. Khedker

Almost all modern imperative programming languages include operations for dynamically manipulating the heap, for example by allocating and deallocating objects, and by updating reference fields. In the presence of recursive procedures and…

Programming Languages · Computer Science 2012-12-18 Jurriaan Rot , Irina Măriuca Asăvoae , Frank de Boer , Marcello M. Bonsangue , Dorel Lucanu

We consider the problem of reducing the memory required to run lazy first-order functional programs. Our approach is to analyze programs for liveness of heap-allocated data. The result of the analysis is used to preserve only live data---a…

Programming Languages · Computer Science 2016-05-03 Prasanna Kumar. K , Amitabha Sanyal , Amey Karkare

In programming languages with dynamic use of memory, such as Java, knowing that a reference variable x points to an acyclic data structure is valuable for the analysis of termination and resource usage (e.g., execution time or memory…

Programming Languages · Computer Science 2013-02-14 Samir Genaim , Damiano Zanardini

Reachability analysis, in general, is a fundamental method that supports formally-correct synthesis, robust model predictive control, set-based observers, fault detection, invariant computation, and conformance checking, to name but a few.…

Systems and Control · Electrical Eng. & Systems 2020-11-17 Niklas Kochdumper , Bastian Schürmann , Matthias Althoff

In heap-based languages, knowing that a variable x points to an acyclic data structure is useful for analyzing termination: this information guarantees that the depth of the data structure to which x points is greater than the depth of the…

Programming Languages · Computer Science 2014-05-20 Damiano Zanardini , Samir Genaim

The correctness of many algorithms and data structures depends on reachability properties, that is, on the existence of chains of references between objects in the heap. Reasoning about reachability is difficult for two main reasons. First,…

Programming Languages · Computer Science 2019-08-19 Arshavir Ter-Gabrielyan , Alexander J. Summers , Peter Müller

Although existing garbage collectors (GCs) perform extremely well on typical programs, there still exist pathological programs for which modern GCs significantly degrade performance. This observation begs the question: might there exist a…

Programming Languages · Computer Science 2025-12-19 Matthew Sotoudeh

The original liveness based flow and context sensitive points-to analysis (LFCPA) is restricted to scalar pointer variables and scalar pointees on stack and static memory. In this paper, we extend it to support heap memory and pointer…

Programming Languages · Computer Science 2014-11-24 Uday P. Khedker , Vini Kanvar

In the static analysis of functional programs, pushdown flow analysis and abstract garbage collection push the boundaries of what we can learn about programs statically. This work illuminates and poses solutions to theoretical and practical…

Programming Languages · Computer Science 2014-06-20 J. Ian Johnson , Ilya Sergey , Christopher Earl , Matthew Might , David Van Horn

In the static analysis of functional programs, pushdown flow analysis and abstract garbage collection skirt just inside the boundaries of soundness and decidability. Alone, each method reduces analysis times and boosts precision by orders…

Programming Languages · Computer Science 2012-07-10 Christopher Earl , Ilya Sergey , Matthew Might , David Van Horn

In this paper, we review existing points-to Separation Logics for dynamic memory reasoning and we find that different usages of heap separation tend to be an obstacle. Hence, two total and strict spatial heap operations are proposed upon…

Logic in Computer Science · Computer Science 2019-05-31 René Haberland , Kirill Krinkin

This paper presents a novel set of algorithms for heap abstraction, identifying logically related regions of the heap. The targeted regions include objects that are part of the same component structure (recursive data structure). The result…

Logic in Computer Science · Computer Science 2012-12-21 Mohamed A. El-Zawawy

Reachability analysis is a fundamental program analysis with a wide variety of applications. We present FlowCFL, a framework for type-based reachability analysis in the presence of mutable data. Interestingly, the underlying semantics of…

Programming Languages · Computer Science 2020-05-15 Ana Milanova

Modern programming environments provide extensive support for inspecting, analyzing, and testing programs based on the algorithmic structure of a program. Unfortunately, support for inspecting and understanding runtime data structures…

Programming Languages · Computer Science 2015-03-19 Mark Marron , Cesar Sanchez , Zhendong Su , Manuel Fahndrich

This paper introduces a new hybrid memory analysis, Structural Analysis, which combines an expressive shape analysis style abstract domain with efficient and simple points-to style transfer functions. Using data from empirical studies on…

Programming Languages · Computer Science 2012-01-06 Mark Marron

Dynamic memory issues are hard to locate and may cost much of a development project's efforts and was repeatedly reported similarly afterwards independently by different persons. Verification as one formal method may proof a given program's…

Logic in Computer Science · Computer Science 2019-06-28 René Haberland , Kirill Krinkin
‹ Prev 1 2 3 10 Next ›