Analysis of functional programs to detect run-time garbage cells
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dependence analysis for pointer variables
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Compiling with continuations
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
Better static memory management: improving region-based analysis of higher-order languages
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
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
Garbage collection and local variable type-precision and liveness in Java virtual machines
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Advanced compiler design and implementation
Advanced compiler design and implementation
Escape analysis for object-oriented languages: application to Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Enforcing trace properties by program transformation
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Putting static analysis to work for verification: A case study
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
ACM Transactions on Information and System Security (TISSEC)
Shifting garbage collection overhead to compile time
Communications of the ACM
Heap profiling for space-efficient Java
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Estimating the impact of heap liveness information on space consumption in Java
Proceedings of the 3rd international symposium on Memory management
ESP: path-sensitive program verification in polynomial time
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
Parametric shape analysis via 3-valued logic
ACM Transactions on Programming Languages and Systems (TOPLAS)
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
On the usefulness of type and liveness accuracy for garbage collection and leak detection
ACM Transactions on Programming Languages and Systems (TOPLAS)
Building a Bridge between Pointer Aliases and Program Dependences
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
TVLA: A System for Implementing Static Analyses
SAS '00 Proceedings of the 7th International Symposium on Static Analysis
Compile-Time Garbage Collection for Lazy Functional Languages
IWMM '95 Proceedings of the International Workshop on Memory Management
Soot - a Java bytecode optimization framework
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Verifying safety properties using separation and heterogeneous abstractions
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
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
Compile-time deallocation of individual objects
Proceedings of the 5th international symposium on Memory management
Free-Me: a static analysis for automatic individual object reclamation
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Logical characterizations of heap abstractions
ACM Transactions on Computational Logic (TOCL)
Heap reference analysis using access graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Detecting and eliminating memory leaks using cyclic memory allocation
Proceedings of the 6th international symposium on Memory management
Uniqueness inference for compile-time object deallocation
Proceedings of the 6th international symposium on Memory management
GC assertions: using the garbage collector to check heap properties
Proceedings of the 2008 ACM SIGPLAN workshop on Memory systems performance and correctness: held in conjunction with the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '08)
The CLOSER: automating resource management in java
Proceedings of the 7th international symposium on Memory management
Automatic Verification of Strongly Dynamic Software Systems
Verified Software: Theories, Tools, Experiments
QVM: an efficient runtime for detecting defects in deployed systems
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
A Flow-Sensitive Region Inference for CLI
APLAS '08 Proceedings of the 6th Asian Symposium on Programming Languages and Systems
Efficiently and precisely locating memory leaks and bloat
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Verifying safety properties of concurrent heap-manipulating programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
QVM: An Efficient Runtime for Detecting Defects in Deployed Systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Offline GC: trashing reachable objects on tiny devices
Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems
Predicate abstraction and canonical abstraction for singly-linked lists
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Combining shape analyses by intersecting abstractions
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Interprocedural shape analysis for cutpoint-free programs
SAS'05 Proceedings of the 12th international conference on Static Analysis
Precise shape analysis using field sensitivity
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Inferring project-specific bug patterns for detecting sibling bugs
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Precise shape analysis using field sensitivity
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
We present a framework for statically reasoning about temporal heap safety properties. We focus on local temporal heap safety properties, in which the verification process may be performed for a program object independently of other program objects. We apply our framework to produce new conservative static algorithms for compile-time memory management, which prove for certain program points that a memory object or a heap reference will not be needed further. These algorithms can be used for reducing space consumption of Java programs. We have implemented a prototype of our framework, and used it to verify compile-time memory management properties for several small, but interesting example programs, including JavaCard programs.