一句话:论文证明基于下近似 Galois 连接的抽象域在常见传递函数下难以进行非平凡的错误查找分析。
大多数静态分析用上近似证明程序无错误,但会产生误报;O'Hearn 的不正确性工作使下近似因只报真警而重新受到关注。本文探讨能否用下近似抽象域进行错误查找。作者先限定于具体幂集域,指出上近似与下近似之间的直观不对称;进而证明由下近似 Galois 连接定义的抽象域效果有限:当程序包含常见传递函数时,分析往往只返回平凡结果。为此提出 non-emptying functions 和 highly surjective function family 两个概念,并证明不存在能对这些函数进行非平凡下近似的抽象域。文中以有限/无限数值域及其他通用域为例,证明无法通过下近似 Galois 连接进行非平凡分析。
The main goal of most static analyses is to prove the absence of bugs : if the analysis reports no alarms, then the program will not exhibit any unwanted behaviours. For this reason, they are designed to over-approximate program behaviours and, consequently, they can report some false alarms. O’Hearn’s recent work on incorrectness has renewed the interest in the use of under-approximations for bug finding , because they only report true alarms. In principle, Abstract Interpretation techniques can handle under-approximations as well as over-approximations, but, in practice, few attempts were developed for the former, notwithstanding the much wider literature on the latter. In this article, we investigate the possibility of exploiting under-approximation abstract domains for bug-finding analyses. First we restrict to consider concrete powerset domains and highlight some intuitive asymmetries between over- and under-approximations. Then, we prove that the effectiveness of abstract domains defined by under-approximation Galois connection is limited because the analysis is likely to return trivial results whenever common transfer functions are encoded in the program. To this aim, we introduce the original concepts of non-emptying functions and highly surjective function family , and we prove the nonexistence of abstract domains able to under-approximate such functions in a non-trivial way. We show many examples of finite and infinite numerical domains, as well as other generic domains. In all such cases, we prove the impossibility of performing non-trivial analyses via under-approximation Galois connections.
@article{paperbot2671,
title = {Limits and Difficulties in the Design of Under-Approximation Abstract Domains},
author = {Flavio Ascari and Roberto Bruni and Roberta Gori},
journal = {ACM Transactions on Programming Languages and Systems},
volume = {46},
number = {3},
year = {2024},
doi = {10.1145/3666014}
}