arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2403.03323cs.LOcs.PL
收藏

超活性的自动化软件验证

Automated Software Verification of Hyperliveness

Raven Beutner

AI总结:

针对现有超属性验证多聚焦$k$-安全性的局限,提出基于约束的自动化算法,结合可靠完备程序逻辑与参数化最强后置条件,验证含超活性的$\forall^k\exists^l$属性,工具ForEx实验效果良好。

摘要:

超属性关联程序的多次执行,常用于规范安全与信息流策略。现有研究大多聚焦于$k$-安全性属性的验证,即所有$k$元组的执行轨迹都满足给定属性的性质。本文研究结合执行上全称量词与存在量词的更丰富属性的自动化验证。具体而言,我们考虑$\forall^k\forall^l$属性,即对于所有$k$次执行,存在$l$次执行共同满足某一属性。该类属性涵盖重要的非$k$-安全需求,包括广义非干扰、不透明性、精化、鲁棒性等超活性属性。我们设计了一种基于约束的自动化算法来验证$\forall^k\forall^l$属性,该算法利用可靠且完备的程序逻辑以及(参数化的)最强后置条件计算。我们在名为ForEx的工具中实现了该算法,并报告了令人鼓舞的实验结果。

英文摘要:

Hyperproperties relate multiple executions of a program and are commonly used to specify security and information-flow policies. Most existing work has focused on the verification of $k$-safety properties, i.e., properties that state that all $k$-tuples of execution traces satisfy a given property. In this paper, we study the automated verification of richer properties that combine universal and existential quantification over executions. Concretely, we consider $\forall^k\exists^l$ properties, which state that for all $k$ executions, there exist $l$ executions that, together, satisfy a property. This captures important non-$k$-safety requirements, including hyperliveness properties such as generalized non-interference, opacity, refinement, and robustness. We design an automated constraint-based algorithm for the verification of $\forall^k\exists^l$ properties. Our algorithm leverages a sound-and-complete program logic and a (parameterized) strongest postcondition computation. We implement our algorithm in a tool called ForEx and report on encouraging experimental results.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑