面向对象程序的下推异常流分析
编程语言
2013-02-13 v1
摘要
在存在异常的情况下进行静态推理以及关于异常的推理具有挑战性:异常加剧了数据流分析与控制流分析之间众所周知的相互递归问题。最近针对 -演算的下推控制流分析的发展提示了一种改进异常分析的方法:下推栈可以像匹配返回与调用一样,精确地将捕获(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}
}