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.
翻译:基于抽象解释的静态分析通常被设计为“可靠的”,即它不应断言实际不成立的属性——换言之,不应在潜在缺陷检测中产生“假阴性”。而更为罕见的要求是它应具备“完备性”,这意味着当某些属性成立时,该方法应能推断出这些属性。本文阐述了笔者多年来遇到的与完备性相关的若干实践问题与思考。