中文

面向对象程序的下推异常流分析

编程语言 2013-02-13 v1

摘要

在存在异常的情况下进行静态推理以及关于异常的推理具有挑战性:异常加剧了数据流分析与控制流分析之间众所周知的相互递归问题。最近针对 λ\lambda-演算的下推控制流分析的发展提示了一种改进异常分析的方法:下推栈可以像匹配返回与调用一样,精确地将捕获(catches)与抛出(throws)相匹配。本工作将下推控制流分析推广到面向对象程序和异常处理中。异常的下推分析在精度上比次优的分析方法(Bravenboer 和 Smaragdakis 的 Doop)提高了数个数量级。随后,通过将抽象垃圾回收推广到面向对象程序,我们将分析时间比纯下推分析减少了一半。我们在标准基准测试以及多个 Android 应用程序上评估了我们在 Dalvik 字节码上的实现。

关键词

引用

@article{arxiv.1302.2692,
  title  = {Pushdown Exception-Flow Analysis of Object-Oriented Programs},
  author = {Shuying Liang and Matthew Might and Thomas Gilray and David Van Horn},
  journal= {arXiv preprint arXiv:1302.2692},
  year   = {2013}
}