Interprocedural may-alias analysis for pointers: beyond k-limiting
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Region-based memory management
Information and Computation
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Recursion and dynamic data-structures in bounded space: towards embedded ML programming
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Featherweight Java: a minimal core calculus for Java and GJ
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
BI as an assertion language for mutable data structures
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic Accurate Live Memory Analysis for Garbage-Collected Languages
OM '01 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
Automatic time-bound analysis for a higher-order language
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Reconsidering custom memory allocation
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Static prediction of heap space usage for first-order functional programs
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Alias Types for Recursive Data Structures
TIC '00 Selected papers from the Third International Workshop on Types in Compilation
Storeless semantics and alias logic
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
A semantics for procedure local heaps and its abstractions
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Memory usage verification for OO programs
SAS'05 Proceedings of the 12th international conference on Static Analysis
Proceedings of the 2007 ACM symposium on Applied computing
Heap space analysis for java bytecode
Proceedings of the 6th international symposium on Memory management
Lightweight semiformal time complexity analysis for purely functional data structures
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parametric prediction of heap memory requirements
Proceedings of the 7th international symposium on Memory management
Analysing memory resource bounds for low-level programs
Proceedings of the 7th international symposium on Memory management
Amortised Memory Analysis Using the Depth of Data Structures
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
A Type System for Usage of Software Components
Types for Proofs and Programs
Cost-driven autonomous mobility
Computer Languages, Systems and Structures
Memory Usage Verification Using Hip/Sleek
ATVA '09 Proceedings of the 7th International Symposium on Automated Technology for Verification and Analysis
"Carbon Credits" for Resource-Bounded Computations Using Amortised Analysis
FM '09 Proceedings of the 2nd World Congress on Formal Methods
MOBIUS: mobility, ubiquity, security objectives and progress report
TGC'06 Proceedings of the 2nd international conference on Trustworthy global computing
Using intersection types for cost-analysis of higher-order polymorphic functional programs
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Efficient type-checking for amortised heap-space analysis
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
Improvements to a resource analysis for hume
FOPARA'09 Proceedings of the First international conference on Foundational and practical aspects of resource analysis
Multivariate amortized resource analysis
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verifying pointer and string analyses with region type systems
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
Worst-case analysis of heap allocations
ISoLA'10 Proceedings of the 4th international conference on Leveraging applications of formal methods, verification, and validation - Volume Part II
Amortized resource analysis with polymorphic recursion and partial big-step operational semantics
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Making the common case the only case with anticipatory memory allocation
FAST'11 Proceedings of the 9th USENIX conference on File and stroage technologies
Task-level analysis for a language with async/finish parallelism
Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
Making the common case the only case with anticipatory memory allocation
ACM Transactions on Storage (TOS)
Amortised resource analysis with separation logic
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Elementary linear logic revisited for polynomial time and an exponential time hierarchy
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Linear constraints over infinite trees
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Multivariate amortized resource analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Automatic amortised analysis of dynamic memory allocation for lazy functional programs
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Type-Based enforcement of secure programming guidelines -- code injection prevention at SAP
FAST'11 Proceedings of the 8th international conference on Formal Aspects of Security and Trust
A type system for counting instances of software components
Theoretical Computer Science
Tracking linear and affine resources with JAVA(X)
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Automatic type inference for amortised heap-space analysis
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Ten years of amortized resource analysis
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
Verifying pointer and string analyses with region type systems
Computer Languages, Systems and Structures
A runtime approach for estimating resource usage
Proceedings of the Fourth Symposium on Information and Communication Technology
Hi-index | 0.00 |
We present a type system for a compile-time analysis of heap-space requirements of Java style object-oriented programs with explicit deallocation. Our system is based on an amortised complexity analysis: the data is arbitrarily assigned a potential related to its size and layout; allocations must be “payed for” from this potential. The potential of each input then furnishes an upper bound on the heap space usage for the computation on this input. We successfully treat inheritance, downcast, update and aliasing. Example applications for the analysis include destination-passing style and doubly-linked lists. Type inference is explicitly not included; the contribution lies in the system itself and the nontrivial soundness theorem. This extended abstract elides most technical lemmas and proofs, even nontrivial ones, due to space limitations. A full version is available at the authors' web pages.