Static analysis by abstract interpretation is generally designed to be ''sound'', that is, it should not claim to establish properties that do not hold-in other words, not provide ''false negatives'' about possible bugs. A rarer requirement is that it should be ''complete'', meaning that it should be able to infer certain properties if they hold. This paper describes a number of practical issues and questions related to completeness that I have come across over the years.
翻译:基于抽象解释的静态分析通常被设计为"可靠的",即不应断言不成立的属性——换言之,不提供关于潜在错误的"假阴性"。更罕见的要求是"完备的",即若某些属性成立,则应能推断出这些属性。本文描述了笔者多年来遇到的与完备性相关的一系列实际问题和思考。