Formal programming language semantics are imperative when trying to verify properties of programs in an automated manner. Using a new approach, Din et al. strengthen the ability of reasoning about concurrent programs by proposing a modular trace semantics, which can flexibly adapt to the most prominent imperative programming language paradigms. These semantics decouple the evaluation in the local environments from the evaluation in the global environment by generating abstract, symbolic traces for the individual, local systems. The traces are then composed and concretized, resulting in global traces for the global system. Hence, these semantics are called Locally Abstract, Globally Concrete (LAGC). In this work, we present a formalization of the LAGC semantics in the popular theorem proving environment Isabelle/HOL. The given model is based on the prior work on the theory of LAGC semantics by Din et al. and includes formalizations of the basic theorems, the LAGC semantics for the While Language (WL), as well as the LAGC semantics for an extended version of the While Language (WLEXT). We furthermore use our Isabelle model in order to provide formal proofs for several advanced properties of the LAGC semantics, which have not been analyzed in the original paper. Whilst the main goal of the work was to formalize the LAGC semantics in a mathematically rigorous manner, we also achieve a high level of proof automatization and manage to contribute an efficient code-generation for the computation of program traces. As the formalization of the semantics is highly modular, the given theories could in the future be extended with even more sophisticated programming language paradigms.
翻译:在尝试以自动化方式验证程序模块化特性时,正式程序语言语义至关重要。 Din等人采用新的方法,通过提出模块追踪语义,加强同时程序推理能力,提出模块化的追踪语义,可以灵活地适应最需要的编程语言范式。这些语义将当地环境的评价与全球环境的评价脱钩,为个人和地方系统产生抽象的象征性痕迹。这些痕迹随后组成和具体化,为全球系统带来全球的痕迹。因此,这些语义被称为“本地摘要”,全球混凝土(LAGC)。在这项工作中,我们提出将LAGC语义义正规化正式化,在演示环境伊莎贝尔/HOL的流行语义理论中进行正式化。 给Din 和al等之前关于LAGC语义学理论理论的理论,包括个人和地方系统基本理论的正规化,LAGC语系语言(WL)的语义化,以及LAGC语义化扩展的高级语言拼写法。我们甚至利用LEXLEX的高级理论, 也用我们的数学模型来提供一个高级的高级的正态。