Analysis of functional programs to detect run-time garbage cells
ACM Transactions on Programming Languages and Systems (TOPLAS)
Safety consideration for storage allocation optimizations
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
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
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Interprocedural may-alias analysis for pointers: beyond k-limiting
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Compiler optimizations for improving data locality
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
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
Storage use analysis and its applications
Proceedings of the first ACM SIGPLAN international conference on Functional programming
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
On the complexity of escape analysis
Proceedings of the 24th 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
ACM SIGPLAN Notices
A semantic model of reference counting and its abstraction (detailed summary)
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Removing unnecessary synchronization in Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
Systematic design of program analysis frameworks
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient Compile-Time Garbage Collection for Arbitrary Data Structures
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Efficient Closure Utilisation by Higher-Order Inheritance Analysis
SAS '95 Proceedings of the Second International Symposium on Static Analysis
A Type-based Analysis for Stack Allocation in Functional Languages
SAS '95 Proceedings of the Second International Symposium on Static Analysis
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Compositional pointer and escape analysis for Java programs
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A high performance cluster JVM presenting a pure single system image
Proceedings of the ACM 2000 conference on Java Grande
OMEN: A strategy for testing object-oriented software
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Effective synchronization removal for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Type-based race detection for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Field analysis: getting useful and low-cost interprocedural information
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Exclusion for composite objects
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Incrementalized pointer and escape analysis
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Heap profiling for space-efficient Java
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Pointer and escape analysis for multithreaded programs
PPoPP '01 Proceedings of the eighth ACM SIGPLAN symposium on Principles and practices of parallel programming
Extending and evaluating flow-insenstitive and context-insensitive points-to analyses for Java
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Detecting race conditions in large programs
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Points-to analysis for Java using annotated constraints
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A parameterized type system for race-free Java programs
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Encapsulating objects with confined types
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automated discovery of scoped memory regions for real-time Java
Proceedings of the 3rd international symposium on Memory management
Proceedings of the 3rd international symposium on Memory management
Heap architectures for concurrent languages using message passing
Proceedings of the 3rd international symposium on Memory management
An adaptive, region-based allocator for java
Proceedings of the 3rd international symposium on Memory management
Efficient and precise datarace detection for multithreaded object-oriented programs
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Lock reservation: Java locks can mostly do without atomic operations
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Write barrier removal by static analysis
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Ownership, encapsulation and the disjointness of type and effect
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Elimination of Java array bounds checks in the presence of indirection
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
Non-Intrusive Detection of Synchronization Errors Using Execution Replay
Automated Software Engineering
Pointer analysis for structured parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Interprocedural compatibility analysis for static object preallocation
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-safe multithreading in cyclone
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Optimizing Java-Specific Overheads: Java at the Speed of C?
HPCN Europe 2001 Proceedings of the 9th International Conference on High-Performance Computing and Networking
Logic Programs as Compact Denotations
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
A Foundation of Escape Analysis
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
Optimizing Java Programs in the Presence of Exceptions
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Sealing, Encapsulation, and Mutability
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Distinctness and Sharing Domains for Static Analysis of Java Programs
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Capabilities for Sharing: A Generalisation of Uniqueness and Read-Only
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Simple Ownership Types for Object Containment
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
TATOO: Testing and Analysis Tool for Object- Oriented Software
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
A Refinement of the Escape Property
VMCAI '02 Revised Papers from the Third International Workshop on Verification, Model Checking, and Abstract Interpretation
OpenJIT Frontend System: An Implementation of the Reflective JIT Compiler Frontend
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Analysis of Multithreaded Programs
SAS '01 Proceedings of the 8th International Symposium on Static Analysis
Abstract Interpretation Based Formal Methods and Future Challenges
Informatics - 10 Years Back. 10 Years Ahead.
Fast Escape Analysis and Stack Allocation for Object-Based Programs
CC '00 Proceedings of the 9th International Conference on Compiler Construction
Modular Static Program Analysis
CC '02 Proceedings of the 11th International Conference on Compiler Construction
A Graph-Free Approach to Data-Flow Analysis
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Detecting Read-Only Methods in Java
LCR '00 Selected Papers from the 5th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
Compiler-Cooperative Memory Management in Java
PSI '02 Revised Papers from the 4th International Andrei Ershov Memorial Conference on Perspectives of System Informatics: Akademgorodok, Novosibirsk, Russia
Comprehensive synchronization elimination for Java
Science of Computer Programming - Special issue on static analysis (SAS'99)
Compiling java for low-end embedded systems
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Static conflict analysis for multi-threaded object-oriented programs
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Automatic detection of immutable fields in Java
CASCON '00 Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research
Class analyses as abstract interpretations of trace semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Escape analysis for JavaTM: Theory and practice
ACM Transactions on Programming Languages and Systems (TOPLAS)
Stack allocation and synchronization optimizations for Java using escape analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Saving the world from bad beans: deployment-time confinement checking
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
JaRec: a portable record/replay environment for multi-threaded Java applications
Software—Practice & Experience
Region analysis and transformation for Java programs
Proceedings of the 4th international symposium on Memory management
A classification system and analysis for aspect-oriented programs
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Automatically Reducing Repetitive Synchronization with a Just-in-Time Compiler for Java
Proceedings of the international symposium on Code generation and optimization
Exploiting Purity for Atomicity
IEEE Transactions on Software Engineering
Interprocedural side-effect analysis and optimisation in the presence of dynamic class loading
ACSC '05 Proceedings of the Twenty-eighth Australasian conference on Computer Science - Volume 38
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
JScoper: Eclipse support for research on scoping and instrumentation for real time Java applications
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Types for safe locking: Static race detection for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Observations on the assured evolution of concurrent Java programs
Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
Data-centric security: role analysis and role typestates
Proceedings of the eleventh ACM symposium on Access control models and technologies
Optimistic stack allocation for java-like languages
Proceedings of the 5th international symposium on Memory management
Interprocedural side-effect analysis for incomplete object-oriented software modules
Journal of Systems and Software
Heap data allocation to scratch-pad memory in embedded systems
Journal of Embedded Computing - Cache exploitation in embedded systems
Enforcing isolation and ordering in STM
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Blended analysis for performance understanding of framework-based applications
Proceedings of the 2007 international symposium on Software testing and analysis
An Efficient, Parametric Fixpoint Algorithm for Analysis of Java Bytecode
Electronic Notes in Theoretical Computer Science (ENTCS)
Encapsulating objects with confined types
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Proceedings of the 2007 workshop on Automating service quality: Held at the International Conference on Automated Software Engineering (ASE)
The CLOSER: automating resource management in java
Proceedings of the 7th international symposium on Memory management
Jolt: lightweight dynamic analysis and removal of object churn
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Class invariants as abstract interpretation of trace semantics
Computer Languages, Systems and Structures
A Flexible, (C)LP-Based Approach to the Analysis of Object-Oriented Programs
Logic-Based Program Synthesis and Transformation
Live heap space analysis for languages with garbage collection
Proceedings of the 2009 international symposium on Memory management
Memory Representations in Rewriting Logic Semantics Definitions
Electronic Notes in Theoretical Computer Science (ENTCS)
Reducing STM overhead with access permissions
International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming
Fast and precise points-to analysis
Information and Software Technology
Stack allocation of objects in the CACAO virtual machine
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Loci: Simple Thread-Locality for Java
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Program Instrumentation and Run-Time Analysis of Scoped Memory in Java
Electronic Notes in Theoretical Computer Science (ENTCS)
Abstract Interpretation and Object-oriented Programming: Quo Vadis?
Electronic Notes in Theoretical Computer Science (ENTCS)
Class-level modular analysis for object oriented languages
SAS'03 Proceedings of the 10th international conference on Static analysis
Message analysis for concurrent languages
SAS'03 Proceedings of the 10th international conference on Static analysis
Type systems for distributed data sharing
SAS'03 Proceedings of the 10th international conference on Static analysis
SAS'03 Proceedings of the 10th international conference on Static analysis
Dimensions of precision in reference analysis of object-oriented programming languages
CC'03 Proceedings of the 12th international conference on Compiler construction
Implementation, compilation, optimization of object-oriented languages, programs and systems
ECOOP'06 Proceedings of the 2006 conference on Object-oriented technology: ECOOP 2006 workshop reader
A novel analysis space for pointer analysis and its application for bug finding
Science of Computer Programming
A dynamic evaluation of the precision of static heap abstractions
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Task types for pervasive atomicity
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Secure the clones: static enforcement of policies for secure object copying
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Faster alias set analysis using summaries
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Reuse, recycle to de-bloat software
Proceedings of the 25th European conference on Object-oriented programming
Cost analysis of object-oriented bytecode programs
Theoretical Computer Science
Generating synchronization statements in divide-and-conquer programs
Parallel Computing
Optimizing c multithreaded memory management using thread-local storage
CC'05 Proceedings of the 14th international conference on Compiler Construction
On a Technique for Transparently Empowering Classical Compiler Optimizations on Multithreaded Code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Does lean imply green?: a study of the power performance implications of Java runtime bloat
Proceedings of the 12th ACM SIGMETRICS/PERFORMANCE joint international conference on Measurement and Modeling of Computer Systems
Rethinking Soot for summary-based whole-program analysis
Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program analysis
Side-effect analysis with fast escape filter
Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program analysis
Class-Modular, class-escape and points-to analysis for object-oriented languages
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Logic programs as compact denotations
Computer Languages, Systems and Structures
Lock removal for concurrent trace programs
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Finding reusable data structures
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Views: Synthesizing fine-grained concurrency control
ACM Transactions on Software Engineering and Methodology (TOSEM)
Resurrector: a tunable object lifetime profiling technique for optimizing real-world programs
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
LeakChecker: Practical Static Memory Leak Detection for Managed Languages
Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization
Partial Escape Analysis and Scalar Replacement for Java
Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization
Hi-index | 0.00 |
Escape analysis [27, 14, 5] is a static analysis that determines whether the lifetime of data exceeds its static scope.The main originality of our escape analysis is that it determines precisely the effect of assignments, which is necessary to apply it to object oriented languages with promising results, whereas previous work [27, 14, 5] applied it to functional languages and were very imprecise on assignments. Our implementation analyses the full Java™ Language.We have applied our analysis to stack allocation and synchronization elimination. We manage to stack allocate 13% to 95% of data, eliminate more than 20% of synchronizations on most programs (94% and 99% on two examples) and get up to 44% speedup (21% on average). Our detailed experimental study on large programs shows that the improvement comes from the decrease of the garbage collection and allocation times than from improvements on data locality [7], contrary to what happened for ML [5].