×

验证非常规程序属性。 (英语) Zbl 1208.68011号

慕尼黑:慕尼黑大学,慕尼黑信息研究所(Diss.)。xiv,152页。(2010).
摘要:过去几十年来引入和研究的大多数时序逻辑都可以嵌入到模态微积分中。例如,PDL、CTL、CTL*、ECTL、LTL等就是这种情况,因此这些逻辑不能表示非常规程序属性。近年来,人们提出了一些提高表达能力的新方法:使用chop的不动点逻辑通过序列合成算子丰富了微积分,从而可以表征无上下文过程。模态迭代演算使用膨胀不动点来超越多演算的表达能力。高阶不动点逻辑(HFL)将简单类型的lambda-calculus合并到具有极值不动点运算符的设置中,甚至超过了具有chop的不动点逻辑学的表达能力。但PDL也配备了无上下文程序,而不是常规程序。就表达性而言,对更丰富框架的需求是自然的,因为程序属性规范并不局限于规则范围。然而,表达能力通常是以逻辑相关决策问题的计算复杂性增加为代价的。例如,上述逻辑不可判定的可满足性问题。
在这项工作中,我们研究了三种不同逻辑的模型检查问题,这三种逻辑能够表示非正则程序属性,目的是识别具有可行模型检查复杂性的片段。首先,我们开发了一种通用的方法来确定任意程序类上模型检查PDL的复杂性,并表明不可判定性的边界介于索引语言上的PDL和上下文敏感语言上的PD之间。然而,对于线性索引语言上的PDL,它仍为PTIME,对于索引语言上PDL,则为EXPTIME。我们提出了具体的算法,允许实现这两个片段的模型检查器。然后,我们引入了CTL的扩展,其中UNTIL和RELEASE操作符用形式语言修饰。这些被解释为标记路径,并限制操作员满意的路径上的力矩。例如,如果某个路径前缀在其修饰的语言中形成一个单词,则UNTIL运算符是满足的(除了通常的要求,即在那一刻之前必须保持某个属性,而在那一刻必须保持另一个属性)。再次,我们确定了在任意一个运算符中允许的语言的不同类别的模型检查问题的计算复杂性。事实证明,无论是在UNTIL中启用上下文相关语言,还是在RELEASE-操作符中启用上下文无关语言,都会导致模型检查问题无法确定,而UNTIL的索引语言和RELEASE-操作符的下推语言都是EXPTIME-complete。PTIME的完整性是由于在UNTIL中允许使用线性索引语言,在RELEASE中允许使用确定性上下文无关语言。我们还为这些逻辑的几个有趣片段提供了具体的模型检查算法。
最后,我们将注意力转向我们在以前的工作中已经研究过的HFL的模型检查问题。在有限状态模型上,HFL((k))是(k)-EXPTIME-完全的,HFL片段是通过将lambda-calculus中的函数限制为(k)级而获得的。然而,这项工作中的新颖之处在于推广了一种思想(从一阶情况到任意阶函数的情况),通过在参数的需要性指导下的定点迭代期间使用部分函数来改进模型检查算法的最佳和平均情况行为。这是可能的,因为封闭HFL公式的语义不是一个整体函数,而是函数在某个参数处的值。再次,我们给出了这种改进的模型检查器的具体算法,并认为尽管模型检查复杂度很高,但这种改进在实践中非常有用,并通过对具体示例中所需参数数量的统计分析,为具有低阶功能的HFL提供了可行的结果。此外,我们还展示了如何将HFL用作开发算法的工具。它的高表达性允许将各种各样的问题编码为一阶片段中已经存在的模型检查实例。相当不直观但非常简洁的问题编码,以及对上述略图优化行为的分析,可能会给问题带来深刻的见解。我们以非确定性有限自动机的普适性问题为例来证明这一点,其中优化模型检查算法的微小变化产生了迄今为止最著名的方法之一,该方法是最近才发现的。我们还研究了每一种逻辑的典型模型理论性质,并就表达能力进行了比较。

MSC公司:

68-02 与计算机科学有关的研究展览会(专著、调查文章)
60年第68季度 规范和验证(程序逻辑、模型检查等)
03B44号 时间逻辑
03B45号 模态逻辑(包括规范逻辑)
65年第68季度 形式语言和自动机
PDF格式BibTeX公司 XML格式引用
全文: 链接