In order to gain a better understanding of the state space of programs, with the aim of making their verification more tractable, models based on directed topological spaces have been introduced, allowing to take in account equivalence between execution traces, as well as translate features of the execution (such as the presence of deadlocks) into geometrical situations. In this context, many algorithms were introduced, based on a description of the geometrical models as regions consisting of unions of rectangles. We explain here that these constructions can actually be performed directly on the syntax of programs, thus resulting in representations which are more natural and easier to implement. In order to do so, we start from the observation that positions in a program can be described as partial explorations of the program. The operational semantics induces a partial order on positions, and regions can be defined as formal unions of intervals in the resulting poset. We then study the structure of such regions and show that, under reasonable conditions, they form a boolean algebra and admit a representation in normal form (which corresponds to covering a space by maximal intervals), thus supporting the constructions needed for the purpose of studying programs. All the operations involved here are given explicit algorithmic descriptions.
翻译:为了更好地了解方案的国家空间,以便更好地了解方案的国家空间,以便使其核查更加容易,已经采用了基于定向地形空间的模型,从而能够将执行痕迹之间的等同性以及执行特征(如僵局的存在)转化为几何情况。在这方面,根据几何模型的描述,根据由矩形联盟组成的区域,采用了许多算法。我们在此解释,这些构造实际上可以在程序组合中直接进行,从而产生更自然和更容易执行的表述。为了做到这一点,我们从观察到,一个方案中的位置可以被描述为对方案的部分探索。操作的语义可以导致对位置的局部排序,而区域可以被定义为由此形成的形状的间隔之间的正式结合。我们接着研究这些地区的结构,并表明,在合理的条件下,它们构成一个布尔亚代数,并接受一种正常的表述形式(相当于一个最高间隔的空间),从而支持为研究方案的目的所需的构建。所有涉及的算法都在这里进行。