Control flow analysis in scheme
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Lifetime analysis of dynamically allocated objects
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The definition of Standard ML
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiling with continuations
Global tagging optimization by type inference
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Safety analysis versus type inference for partial types
Information Processing Letters
Real-time replication garbage collection
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
Better Static Memory Management: Improving Region-Based
Better Static Memory Management: Improving Region-Based
From region inference to von Neumann machines via region representation inference
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Escape analysis: correctness proof, implementation and experimental results
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Memory management with explicit regions
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Taming effects with monadic typing
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Typed memory management in a calculus of capabilities
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Promises: limited specifications for analysis and manipulation
Proceedings of the 20th international conference on Software engineering
Escape analysis for object-oriented languages: application to Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Stratified operational semantics for safety and correctness of the region calculus
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-preserving garbage collectors
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Typed memory management via static capabilities
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On regions and linear types (extended abstract)
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Combining region inference and garbage collection
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Time regions and effects for resource usage analysis
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Region Analysis and a pi-Calculus wiht Groups
MFCS '00 Proceedings of the 25th International Symposium on Mathematical Foundations of Computer Science
An Object-Oriented Effects System
ECOOP '99 Proceedings of the 13th European Conference on Object-Oriented Programming
Alias Types for Recursive Data Structures
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
A direct approach to control-flow sensitive region-based memory management
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Ownership types for safe region-based memory management in real-time Java
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Escape analysis for JavaTM: Theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
Region analysis and a π-calculus with groups
Journal of Functional Programming
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
Region inference for an object-oriented language
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Experience with safe manual memory-management in cyclone
Proceedings of the 4th international symposium on Memory management
Region analysis and transformation for Java programs
Proceedings of the 4th international symposium on Memory management
Bisimilarity for the Region Calculus
Higher-Order and Symbolic Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic pool allocation: improving performance by controlling data structure layout in the heap
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Resource usage analysis for a functional language with exceptions
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Compile-time deallocation of individual objects
Proceedings of the 5th international symposium on Memory management
SAFECode: enforcing alias analysis for weakly typed languages
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Safe manual memory management in cyclone
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
Conditional correlation analysis for safe region-based memory management
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
The CLOSER: automating resource management in java
Proceedings of the 7th international symposium on Memory management
Runtime support for region-based memory management in Mercury
Proceedings of the 7th international symposium on Memory management
A type system for safe memory management and its proof of correctness
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
An Inference Algorithm for Guaranteeing Safe Destruction
Logic-Based Program Synthesis and Transformation
A Verifier for Region-Annotated Java Bytecodes
Electronic Notes in Theoretical Computer Science (ENTCS)
Race-free and memory-safe multithreading: design and implementation in cyclone
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
SAS'03 Proceedings of the 10th international conference on Static analysis
Static region analysis for mercury
ICLP'07 Proceedings of the 23rd international conference on Logic programming
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
A kripke logical relation for effect-based program transformations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
A path sensitive type system for resource usage verification of c like languages
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Towards region-based memory management for mercury programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Static memory management for logic programming languages
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
A simple region inference algorithm for a first-order functional language
WFLP'09 Proceedings of the 18th international conference on Functional and Constraint Logic Programming
Linear regions are all you need
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Towards region-based memory management for Go
Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
A bloat-aware design for big data applications
Proceedings of the 2013 international symposium on memory management
A low overhead method for recovering unused memory inside regions
Proceedings of the ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Static safety guarantees for a low-level multithreaded language with regions
Science of Computer Programming
Hi-index | 0.00 |
Static memory management replaces runtime garbage collection with compile-time annotations that make all memory allocation and deallocation explicit in a program. We improve upon the Tofte/Talpin region-based scheme for compile-time memory management[TT94]. In the Tofte/Talpin approach, all values, including closures, are stored in regions. Region lifetimes coincide with lexical scope, thus forming a runtime stack of regions and eliminating the need for garbage collection. We relax the requirement that region lifetimes be lexical. Rather, regions are allocated late and deallocated as early as possible by explicit memory operations. The placement of allocation and deallocation annotations is determined by solving a system of constraints that expresses all possible annotations. Experiments show that our approach reduces memory requirements significantly, in some cases asymptotically.