首页 | 本学科首页   官方微博 | 高级检索  
     


Deriving escape analysis by abstract interpretation
Authors:Patricia M. Hill  Fausto Spoto
Affiliation:(1) University of Leeds, United Kingdom;(2) Università di Verona, Italy
Abstract:Escape analysis of object-oriented languages approximates the set of objects which do not escape from a given context. If we take a method as context, the non-escaping objects can be allocated on its activation stack; if we take a thread, Java synchronisation locks on such objects are not needed. In this paper, we formalise a basic escape domain $${mathcal{E}}$$ as an abstract interpretation of concrete states, which we then refine into an abstract domain $${cal ER}$$ which is more concrete than $${mathcal{E}}$$ and, hence, leads to a more precise escape analysis than $${mathcal{E}}$$ . We provide optimality results for both $${mathcal{E}}$$ and $${cal ER}$$ , in the form of Galois insertions from the concrete to the abstract domains and of optimal abstract operations. The Galois insertion property is obtained by restricting the abstract domains to those elements which do not contain garbage, by using an abstract garbage collector. Our implementation of $${cal ER}$$ is hence an implementation of a formally correct escape analyser, able to detect the stack allocatable creation points of Java (bytecode) applications.
Keywords:Abstract interpretation  Denotational semantics  Garbage collection
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号