arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv cs/0703155cs.PL
收藏

函数式程序堆数据的活性

Liveness of Heap Data for Functional Programs

Amey Karkare, Uday Khedker, Amitabha Sanyal

摘要:

函数式程序设计语言使用垃圾回收进行堆存储管理。理想情况下,垃圾收集器应该回收在垃圾回收时死亡的所有对象。如果一个对象在将来不被使用,那么它在执行的瞬间就是死的。垃圾收集器只收集那些不能从任何程序变量访问的死对象。这是因为它们无法区分死的可达对象和活的可达对象。在本文中,我们描述了一个静态分析,以发现可达到的死对象在一阶,渴望功能程序设计语言编写的程序。这种技术的结果可用于使可达的死对象不可达,从而允许垃圾收集器回收更多的死对象。

英文摘要:

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 not used in future. Garbage collectors collect only those dead objects that are not reachable from any program variable. This is because they are not able to distinguish between reachable objects that are dead and reachable objects that are live. In this paper, we describe a static analysis to discover reachable dead objects in programs written in first-order, eager functional programming languages. The results of this technique can be used to make reachable dead objects unreachable, thereby allowing garbage collectors to reclaim more dead objects.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑