当前位置: X-MOL 学术J. Autom. Reason. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Schematic Program Proofs with Abstract Execution
Journal of Automated Reasoning ( IF 1.1 ) Pub Date : 2024-03-26 , DOI: 10.1007/s10817-023-09692-0
Dominic Steinhöfel , Reiner Hähnle

Abstract

We propose Abstract Execution, a static verification framework based on symbolic execution and dynamic frames for proving properties of schematic programs. Since a schematic program may potentially represent infinitely many concrete programs, Abstract Execution can analyze infinitely many programs at once. Trading off expressiveness and automation, the framework allows proving many interesting (universal, behavioral) properties fully automatically. Its main application are correctness proofs of program transformations represented as pairs of schematic programs. We implemented Abstract Execution in a deductive verification framework and designed a graphical workbench supporting the modeling process. Abstract Execution has been applied to correct code refactoring, analysis of the cost impact of transformation rules, and parallelization of sequential code. Using our framework, we found and reported several bugs in the refactoring engines of the Java IDEs IntelliJ IDEA and Eclipse, which were acknowledged and fixed.



中文翻译:

带有抽象执行的示意性程序证明

摘要

我们提出了Abstract Execution,这是一种基于符号执行和动态框架的静态验证框架,用于证明原理图程序的属性。由于示意性程序可能代表无限多个具体程序,因此抽象执行可以同时分析无限多个程序。权衡表达性和自动化,该框架允许完全自动地证明许多有趣的(通用的、行为的)属性。其主要应用是以示意性程序对表示的程序转换的正确性证明。我们在演绎验证框架中实现了抽象执行,并设计了支持建模过程的图形工作台。摘要 执行已应用于正确的代码重构、转换规则的成本影响分析以及顺序代码的并行化。使用我们的框架,我们发现并报告了Java IDE IntelliJ IDEA 和 Eclipse的重构引擎中的多个错误 ,这些错误已得到确认和修复。

更新日期:2024-03-27
down
wechat
bug