论文标题
在不确定性和假设下监视的符号运行时验证
Symbolic Runtime Verification for Monitoring under Uncertainties and Assumptions
论文作者
论文摘要
运行时验证处理了系统运行是否遵守其规范的问题。 本文在存在有关观察到的运行的部分知识的情况下研究运行时验证,尤其是在输入值可能不精确或根本无法观察到的情况下。 我们还允许对执行的声明假设,该假设允许在不精确的输入下获得更精确的判决。 为此,我们展示了如何将给定的正确性属性视为符号公式,并解释说,只要给出越来越多的跑步观察,监视就可以归结为解决此公式。 我们将框架基于流运行时验证,该验证允许不仅在布尔值中而且在更丰富的逻辑理论中表达时间正确性属性。 通常,我们的方法需要考虑越来越大的公式集,但我们确定了存在修剪策略的域(包括布尔和线性代数),这允许以恒定的记忆(即独立于观察的长度)监视,同时保留与所有观点相同的推理能力,同时保留相同的推理能力。 我们在两种重要情况下使用原型实施实现了我们的技术的力量:测试汽车排放和心率监测的软件。
Runtime Verification deals with the question of whether a run of a system adheres to its specification. This paper studies runtime verification in the presence of partial knowledge about the observed run, particularly where input values may not be precise or may not be observed at all. We also allow declaring assumptions on the execution which permits to obtain more precise verdicts also under imprecise inputs. To this end, we show how to understand a given correctness property as a symbolic formula and explain that monitoring boils down to solving this formula iteratively, whenever more and more observations of the run are given. We base our framework on stream runtime verification, which allows to express temporal correctness properties not only in the Boolean but also in richer logical theories. While in general our approach requires to consider larger and larger sets of formulas, we identify domains (including Booleans and Linear Algebra) for which pruning strategies exist, which allows to monitor with constant memory (i.e. independent of the length of the observation) while preserving the same inference power as the monitor that remembers all observations. We empirically exhibit the power of our technique using a prototype implementation under two important cases studies: software for testing car emissions and heart-rate monitoring.