当前位置: X-MOL 学术ACM Trans. Program. Lang. Syst. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A Theoretical Foundation of Sensitivity in an Abstract Interpretation Framework
ACM Transactions on Programming Languages and Systems ( IF 1.5 ) Pub Date : 2018-08-13 , DOI: 10.1145/3230624
Se-Won Kim 1 , Xavier Rival 2 , Sukyoung Ryu 3
Affiliation  

Program analyses often utilize various forms of sensitivity such as context sensitivity, call-site sensitivity, and object sensitivity. These techniques all allow for more precise program analyses, that are able to compute more precise program invariants, and to verify stronger properties. Despite the fact that sensitivity techniques are now part of the standard toolkit of static analyses designers and implementers, no comprehensive frameworks allow the description of all common forms of sensitivity. As a consequence, the soundness proofs of static analysis tools involving sensitivity often rely on ad hoc formalization, which are not always carried out in an abstract interpretation framework. Moreover, this also means that opportunities to identify similarities between analysis techniques to better improve abstractions or to tune static analysis tools can easily be missed. In this article, we present and formalize a framework for the description of sensitivity in static analysis . Our framework is based on a powerful abstract domain construction, and utilizes reduced cardinal power to tie basic abstract predicates to the properties analyses are sensitive to. We formalize this abstraction, and the main abstract operations that are needed to turn it into a generic abstract domain construction. We demonstrate that our approach can allow for a more precise description of program states, and that it can also describe a large set of sensitivity techniques, both when sensitivity criteria are static (known before the analysis) or dynamic (inferred as part of the analysis), and sensitive analysis tuning parameters. Last, we show that sensitivity techniques used in state-of-the-art static analysis tools can be described in our framework.

中文翻译:

抽象解释框架中敏感性的理论基础

程序分析经常使用各种形式的灵敏度例如上下文敏感性、呼叫站点敏感性和对象敏感性。这些技术都允许更精确的程序分析,能够计算更精确的程序不变量,并验证更强的属性。尽管敏感性技术现在是静态分析设计者和实施者的标准工具包的一部分,但没有一个全面的框架允许描述所有常见的敏感性形式。因此,涉及敏感性的静态分析工具的健全性证明通常依赖于临时形式化,这并不总是在抽象解释框架中进行。此外,这也意味着很容易错过识别分析技术之间相似性以更好地改进抽象或调整静态分析工具的机会。在本文中,静态分析的灵敏度. 我们的框架基于强大的抽象域构造,并利用降低的基数将基本抽象谓词与分析敏感的属性联系起来。我们将这种抽象形式化,以及将其转化为通用抽象域构造所需的主要抽象操作。我们证明了我们的方法可以更精确地描述程序状态,并且它还可以描述大量的敏感性技术,无论敏感性标准是静态的(在分析之前已知)还是动态的(推断为分析的一部分) ) 和敏感的分析调整参数。最后,我们展示了最先进的静态分析工具中使用的灵敏度技术可以在我们的框架中进行描述。
更新日期:2018-08-13
down
wechat
bug