English
Related papers

Related papers: Liveness of Heap Data for Functional Programs

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

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

Scheme uses garbage collection for heap memory management. Ideally, garbage collectors should be able to reclaim all dead objects, i.e. objects that will not be used in future. However, garbage collectors collect only those dead objects…

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

Despite significant progress in the theory and practice of program analysis, analysing properties of heap data has not reached the same level of maturity as the analysis of static and stack data. The spatial and temporal structure of stack…

Programming Languages · Computer Science 2013-04-25 Uday Khedker , Amitabha Sanyal , Amey Karkare

The Generational Garbage collection involves organizing the heap into different divisions of memory space in-order to filter long-lived objects from short-lived objects through moving the surviving object of each generation Garbage…

Programming Languages · Computer Science 2015-01-07 Vasanthakumar Soundararajan

This paper is about the interface between languages which use a garbage collector and those which use fancy types for safe manual memory management. Garbage collection is the traditional memory management scheme for functional languages,…

Programming Languages · Computer Science 2018-07-03 Alan Jeffrey

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

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

Several programming languages use garbage collectors (GCs) to automatically manage memory for the programmer. Such collectors must decide when to look for unreachable objects to free, which can have a large performance impact on some…

Programming Languages · Computer Science 2023-03-28 Lujing Cen , Ryan Marcus , Hongzi Mao , Justin Gottschlich , Mohammad Alizadeh , Tim Kraska

Most functional languages rely on some garbage collection for automatic memory management. They usually eschew reference counting in favor of a tracing garbage collector, which has less bookkeeping overhead at runtime. On the other hand,…

Programming Languages · Computer Science 2020-03-06 Sebastian Ullrich , Leonardo de Moura

This paper shows how to harness existing theorem provers for first-order logic to automatically verify safety properties of imperative programs that perform dynamic storage allocation and destructive updating of pointer-valued structure…

Logic in Computer Science · Computer Science 2015-07-01 Tal Lev-Ami , Neil Immerman , Thomas Reps , Mooly Sagiv , Siddharth Srivastava , Greta Yorsh

Programmers routinely trade space for time to increase performance, often in the form of caching or memoization. In managed languages like Java or JavaScript, however, this space-time tradeoff is complex. Using more space translates into…

Programming Languages · Computer Science 2016-10-18 Diogenes Nunez , Samuel Z. Guyer , Emery D. Berger

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

Many Java applications instantiate objects within the Java heap that are persistent but seldom if ever referenced by the application. Examples include strings, such as error messages, and collections of value objects that are preloaded for…

Programming Languages · Computer Science 2015-08-20 Kim T. Briggs , Baoguo Zhou , Gerhard W. Dueck

Functionals are an important research subject in Mathematics and Computer Science as well as a challenge in Information Technologies where the current programming paradigm states that only symbolic computations are possible on higher order…

Logic · Mathematics 2018-09-13 Stanislaw Ambroszkiewicz

This paper describes a new and purely functional implementation technique of binary heaps. A binary heap is a tree-based data structure that implements priority queue operations (insert, remove, minimum/maximum) and guarantees at worst…

Data Structures and Algorithms · Computer Science 2013-12-18 Vladimir Kostyukov

Production software oftentimes suffers from the issue of performance inefficiencies caused by inappropriate use of data structures, programming abstractions, and conservative compiler optimizations. It is desirable to avoid unnecessary…

Machine Learning · Computer Science 2020-11-20 Yixin Guo , Pengcheng Li , Yingwei Luo , Xiaolin Wang , Zhenlin Wang

This paper presents a proposal (story) of how statically detecting unreachable objects (in Java) could be used to improve a particular runtime verification approach (for Java), namely parametric trace slicing. Monitoring algorithms for…

Software Engineering · Computer Science 2017-08-25 Giles Reger

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

A lot of research work has been done in the area of Garbage collection for both uniprocessor and distributed systems. Actors are associated with activity (thread) and hence usual garbage collection algorithms cannot be applied for them.…

Programming Languages · Computer Science 2012-01-12 B. Seetha Lakshmi , C. D. Balapriya , R. Soniya
‹ Prev 1 2 3 10 Next ›