We present a new feature of the open-source model checker Kind 2 which checks whether a component contract is realizable; i.e., it is possible to construct a component such that for any input allowed by the contract assumptions, there is some output value that the component can produce that satisfies the contract guarantees. When the contract is proven unrealizable, it provides a deadlocking computation and a set of conflicting guarantees. This new feature can be used to detect flaws in component specifications and to ensure the correctness of Kind 2's compositional proof arguments.
翻译:我们提出了开放源码模式第2类检查程序的新特点,检查部件合同是否可实现;即,有可能建立一个组件,以便对于合同假设允许的任何投入而言,该部件能够产生符合合同保证的某些产出价值;当合同被证明无法实现时,它提供了一种僵局计算和一套相互矛盾的担保;这一新特征可用于发现部件规格的缺陷,并确保第2类的构成证据论据的正确性。