首页> 外文会议>Asia-Pacific Software Engineering Conference >Detecting Full Initialization Points of Objects to Support Code Refactorings
【24h】

Detecting Full Initialization Points of Objects to Support Code Refactorings

机译:检测对象的完整初始化点以支持代码重构

获取原文

摘要

A common need of refactorings that involve object allocations is to determine precisely the program points at which objects allocated at a given allocation site become fully initialized. In this paper we formalize the notion of full initialization points (FIPs) of allocation sites, and present a static analysis to determine precisely these program points. While this analysis can benefit several allocation-site refactorings, to demonstrate its usefulness we select two specific refactorings in this paper - object sharing refactoring and immutability refactoring. By introducing code to cache and share objects at the FIPs suggested by our analysis, object-sharing refactoring was able to obtain a mean memory savings of 11.4% on a set of real Java benchmarks. Immutability refactoring guided by our analysis achieved a mean runtime speedup of 1.6X compared to performing the same refactoring using a baseline approach.
机译:涉及对象分配的重构的普遍需求是精确确定在给定分配站点分配的对象完全初始化的程序点。在本文中,我们对分配站点的完全初始化点(FIP)的概念进行形式化,并进行静态分析以精确确定这些程序点。尽管此分析可以使若干分配站点重构受益,但为了证明其有用性,我们在本文中选择了两个特定的重构-对象共享重构和不变性重构。通过在分析所建议的FIP上引入用于缓存和共享对象的代码,在一组实际的Java基准测试中,对象共享重构能够平均节省11.4%的内存。与使用基准方法执行相同的重构相比,我们的分析指导的不变性重构实现了1.6倍的平均运行时加速。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号