首页 > 最新文献

Formal Aspects of Computing最新文献

英文 中文
A Debugging Game for Probabilistic Models 一个概率模型调试游戏
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2022-05-15 DOI: 10.1145/3536429
Hichem Debbi
One of the major advantages of model checking over other formal methods is its ability to generate a counterexample when a model does not satisfy is its specification. A counterexample is an error trace that helps to locate the source of the error. Therefore, the counterexample represents a valuable tool for debugging. In Probabilistic Model Checking (PMC), the task of counterexample generation has a quantitative aspect. Unlike the previous methods proposed for conventional model checking that generate the counterexample as a single path ending with a bad state representing the failure, the task in PMC is completely different. A counterexample in PMC is a set of evidences or diagnostic paths that satisfy a path formula, whose probability mass violates the probability threshold. Counterexample generation is not sufficient for finding the exact source of the error. Therefore, in conventional model checking, many debugging techniques have been proposed to act on the counterexamples generated to locate the source of the error. In PMC, debugging counterexamples is more challenging, since the probabilistic counterexample consists of multiple paths and it is probabilistic. In this article, we propose a debugging technique based on stochastic games to analyze probabilistic counterexamples generated for probabilistic models described as Markov chains in PRISM language. The technique is based mainly on the idea of considering the modules composing the system as players of a reachability game, whose actions contribute to the evolution of the game. Through many case studies, we will show that our technique is very effective for systems employing multiple components. The results are also validated by introducing a debugging tool called GEPCX (Game Explainer of Probabilistic Counterexamples).
与其他形式化方法相比,模型检查的主要优点之一是,当模型不满足其规范时,它能够生成反例。反例是帮助定位错误来源的错误跟踪。因此,反例是一个有价值的调试工具。在概率模型检验(PMC)中,反例生成的任务具有定量化的特点。与之前提出的传统模型检查方法不同,PMC中的任务完全不同,传统模型检查方法将反例生成为以坏状态结束的单个路径,表示失败。PMC中的反例是一组满足路径公式的证据或诊断路径,其概率质量违反概率阈值。反例生成不足以找到错误的确切来源。因此,在传统的模型检查中,提出了许多调试技术来对生成的反例进行操作,以定位错误的来源。在PMC中,调试反例更具挑战性,因为概率反例由多条路径组成,而且是概率性的。在本文中,我们提出了一种基于随机博弈的调试技术来分析PRISM语言中描述为马尔可夫链的概率模型生成的概率反例。该技术主要基于将组成系统的模块视为可达性游戏的玩家的理念,他们的行动有助于游戏的发展。通过许多案例研究,我们将展示我们的技术对于使用多个组件的系统是非常有效的。通过引入一个名为GEPCX (Game Explainer of Probabilistic Counterexamples)的调试工具,结果也得到了验证。
{"title":"A Debugging Game for Probabilistic Models","authors":"Hichem Debbi","doi":"10.1145/3536429","DOIUrl":"https://doi.org/10.1145/3536429","url":null,"abstract":"One of the major advantages of model checking over other formal methods is its ability to generate a counterexample when a model does not satisfy is its specification. A counterexample is an error trace that helps to locate the source of the error. Therefore, the counterexample represents a valuable tool for debugging. In Probabilistic Model Checking (PMC), the task of counterexample generation has a quantitative aspect. Unlike the previous methods proposed for conventional model checking that generate the counterexample as a single path ending with a bad state representing the failure, the task in PMC is completely different. A counterexample in PMC is a set of evidences or diagnostic paths that satisfy a path formula, whose probability mass violates the probability threshold. Counterexample generation is not sufficient for finding the exact source of the error. Therefore, in conventional model checking, many debugging techniques have been proposed to act on the counterexamples generated to locate the source of the error. In PMC, debugging counterexamples is more challenging, since the probabilistic counterexample consists of multiple paths and it is probabilistic. In this article, we propose a debugging technique based on stochastic games to analyze probabilistic counterexamples generated for probabilistic models described as Markov chains in PRISM language. The technique is based mainly on the idea of considering the modules composing the system as players of a reachability game, whose actions contribute to the evolution of the game. Through many case studies, we will show that our technique is very effective for systems employing multiple components. The results are also validated by introducing a debugging tool called GEPCX (Game Explainer of Probabilistic Counterexamples).","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2022-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"43494912","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Fast Automated Abstract Machine Repair Using Simultaneous Modifications and Refactoring 使用同步修改和重构的快速自动化抽象机器维修
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2022-05-14 DOI: 10.1145/3536430
Chenghao Cai, Jing Sun, G. Dobbie, Zhé Hóu, Hadrien Bride, J. Dong, S. Lee
Automated model repair techniques enable machines to synthesise patches that ensure models meet given requirements. B-repair, which is an existing model repair approach, assists users in repairing erroneous models in the B formal method, but repairing large models is inefficient due to successive applications of repair. In this work, we improve the performance of B-repair using simultaneous modifications, repair refactoring, and better classifiers. The simultaneous modifications can eliminate multiple invariant violations at a time so the average time to repair each fault can be reduced. Further, the modifications can be refactored to reduce the length of repair. The purpose of using better classifiers is to perform more accurate and general repairs and avoid inefficient brute-force searches. We conducted an empirical study to demonstrate that the improved implementation leads to the entire model process achieving higher accuracy, generality, and efficiency.
自动模型修复技术使机器能够合成补丁,以确保模型满足给定的要求。B修复是一种现有的模型修复方法,在B形式化方法中帮助用户修复错误的模型,但由于修复的连续应用,修复大型模型的效率很低。在这项工作中,我们使用同时修改、修复重构和更好的分类器来提高B修复的性能。同时修改可以一次消除多个不变的违规行为,因此可以减少修复每个故障的平均时间。此外,可以重构修改以缩短修复时间。使用更好的分类器的目的是执行更准确和一般的修复,并避免低效的暴力搜索。我们进行了一项实证研究,证明改进的实现使整个模型过程实现了更高的准确性、通用性和效率。
{"title":"Fast Automated Abstract Machine Repair Using Simultaneous Modifications and Refactoring","authors":"Chenghao Cai, Jing Sun, G. Dobbie, Zhé Hóu, Hadrien Bride, J. Dong, S. Lee","doi":"10.1145/3536430","DOIUrl":"https://doi.org/10.1145/3536430","url":null,"abstract":"Automated model repair techniques enable machines to synthesise patches that ensure models meet given requirements. B-repair, which is an existing model repair approach, assists users in repairing erroneous models in the B formal method, but repairing large models is inefficient due to successive applications of repair. In this work, we improve the performance of B-repair using simultaneous modifications, repair refactoring, and better classifiers. The simultaneous modifications can eliminate multiple invariant violations at a time so the average time to repair each fault can be reduced. Further, the modifications can be refactored to reduce the length of repair. The purpose of using better classifiers is to perform more accurate and general repairs and avoid inefficient brute-force searches. We conducted an empirical study to demonstrate that the improved implementation leads to the entire model process achieving higher accuracy, generality, and efficiency.","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2022-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44005672","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A Case in Point: Verification and Testing of a EULYNX Interface 一个恰当的案例:一个EULYNX接口的验证与测试
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2022-05-10 DOI: 10.1145/3528207
M. Bouwman, Djurre van der Wal, B. Luttik, M. Stoelinga, A. Rensink
We present a case study on the application of formal methods in the railway domain. The case study is part of the FormaSig project, which aims to support the development of EULYNX — a European standard defining generic interfaces for railway equipment — using formal methods. We translate the semi-formal SysML models created within EULYNX to formal mCRL2 models. By adopting a model-centric approach in which a formal model is used both for analyzing the quality of the EULYNX specification and for automated compliance testing, a high degree of traceability is achieved. The target of our case study is the EULYNX Point subsystem interface. We present a detailed catalog of the safety requirements, and provide counterexamples that show that some of them do not hold without specific fairness assumptions. We also use the mCRL2 model to generate both random and guided tests, which we apply to a third-party software simulator. We share metrics on the coverage and execution time of the tests, which show that guided testing outperforms random testing. The test results indicate several discrepancies between the model and the simulator. One of these discrepancies is caused by a fault in the simulator, the others are caused by false positives, i.e. an over-approximation of fail verdicts by our test setup.
我们提出了一个关于形式化方法在铁路领域应用的案例研究。该案例研究是FormaSig项目的一部分,该项目旨在支持使用正式方法开发EULYNX——一种定义铁路设备通用接口的欧洲标准。我们将在EULYNX中创建的半正式SysML模型转换为正式mCRL2模型。通过采用以模型为中心的方法,其中正式模型用于分析EULYNX规范的质量和自动化合规测试,实现了高度的可追溯性。我们案例研究的目标是EULYNX Point子系统接口。我们提供了一个详细的安全要求目录,并提供了反例,表明如果没有具体的公平性假设,其中一些要求是不成立的。我们还使用mCRL2模型生成随机测试和引导测试,并将其应用于第三方软件模拟器。我们分享了测试覆盖率和执行时间的指标,这些指标表明引导测试优于随机测试。测试结果表明模型和模拟器之间存在一些差异。其中一个差异是由模拟器中的故障引起的,其他差异是由误报引起的,即我们的测试设置对失败判决的过度近似。
{"title":"A Case in Point: Verification and Testing of a EULYNX Interface","authors":"M. Bouwman, Djurre van der Wal, B. Luttik, M. Stoelinga, A. Rensink","doi":"10.1145/3528207","DOIUrl":"https://doi.org/10.1145/3528207","url":null,"abstract":"We present a case study on the application of formal methods in the railway domain. The case study is part of the FormaSig project, which aims to support the development of EULYNX — a European standard defining generic interfaces for railway equipment — using formal methods. We translate the semi-formal SysML models created within EULYNX to formal mCRL2 models. By adopting a model-centric approach in which a formal model is used both for analyzing the quality of the EULYNX specification and for automated compliance testing, a high degree of traceability is achieved. The target of our case study is the EULYNX Point subsystem interface. We present a detailed catalog of the safety requirements, and provide counterexamples that show that some of them do not hold without specific fairness assumptions. We also use the mCRL2 model to generate both random and guided tests, which we apply to a third-party software simulator. We share metrics on the coverage and execution time of the tests, which show that guided testing outperforms random testing. The test results indicate several discrepancies between the model and the simulator. One of these discrepancies is caused by a fault in the simulator, the others are caused by false positives, i.e. an over-approximation of fail verdicts by our test setup.","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2022-05-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47554306","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Tight Error Analysis in Fixed-point Arithmetic 不动点算法的严密误差分析
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2022-05-04 DOI: 10.1145/3524051
Stella Simić, A. Bemporad, Omar Inverso, M. Tribastone
We consider the problem of estimating the numerical accuracy of programs with operations in fixed-point arithmetic and variables of arbitrary, mixed precision, and possibly non-deterministic value. By applying a set of parameterised rewrite rules, we transform the relevant fragments of the program under consideration into sequences of operations in integer arithmetic over vectors of bits, thereby reducing the problem as to whether the error enclosures in the initial program can ever exceed a given order of magnitude to simple reachability queries on the transformed program. We describe a possible verification flow and a prototype analyser that implements our technique. We present an experimental evaluation on a particularly complex industrial case study, including a preliminary comparison between bit-level and word-level decision procedures.
我们考虑了用定点算术运算和任意变量、混合精度以及可能的不确定性值来估计程序的数值精度的问题。通过应用一组参数化重写规则,我们将所考虑的程序的相关片段转换为位向量上的整数运算序列,从而减少了初始程序中的错误封装是否会超过给定数量级的问题,从而对转换后的程序进行简单的可达性查询。我们描述了一个可能的验证流程和实现我们技术的原型分析仪。我们对一个特别复杂的工业案例研究进行了实验评估,包括比特级和单词级决策程序之间的初步比较。
{"title":"Tight Error Analysis in Fixed-point Arithmetic","authors":"Stella Simić, A. Bemporad, Omar Inverso, M. Tribastone","doi":"10.1145/3524051","DOIUrl":"https://doi.org/10.1145/3524051","url":null,"abstract":"We consider the problem of estimating the numerical accuracy of programs with operations in fixed-point arithmetic and variables of arbitrary, mixed precision, and possibly non-deterministic value. By applying a set of parameterised rewrite rules, we transform the relevant fragments of the program under consideration into sequences of operations in integer arithmetic over vectors of bits, thereby reducing the problem as to whether the error enclosures in the initial program can ever exceed a given order of magnitude to simple reachability queries on the transformed program. We describe a possible verification flow and a prototype analyser that implements our technique. We present an experimental evaluation on a particularly complex industrial case study, including a preliminary comparison between bit-level and word-level decision procedures.","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2022-05-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"46062211","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Algebra-Based Reasoning for Loop Synthesis 基于代数的回路综合推理
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2022-04-07 DOI: 10.1145/3527458
Andreas Humenberger, Daneshvar Amrollahi, N. Bjørner, L. Kovács
Provably correct software is one of the key challenges of our software-driven society. Program synthesis—the task of constructing a program satisfying a given specification—is one strategy for achieving this. The result of this task is then a program that is correct by design. As in the domain of program verification, handling loops is one of the main ingredients to a successful synthesis procedure. We present an algorithm for synthesizing loops satisfying a given polynomial loop invariant. The class of loops we are considering can be modeled by a system of algebraic recurrence equations with constant coefficients, thus encoding program loops with affine operations among program variables. We turn the task of loop synthesis into a polynomial constraint problem by precisely characterizing the set of all loops satisfying the given invariant. We prove soundness of our approach, as well as its completeness with respect to an a priori fixed upper bound on the number of program variables. Our work has applications toward synthesizing loops satisfying a given polynomial loop invariant—program verification—as well as generating number sequences from algebraic relations. To understand viability of the methodology and heuristics for synthesizing loops, we implement and evaluate the method using the Absynth tool.
可证明正确的软件是我们软件驱动社会的主要挑战之一。程序综合——构建满足给定规范的程序的任务——是实现这一目标的一种策略。这个任务的结果就是一个设计正确的程序。与程序验证领域一样,处理循环是合成程序成功的主要因素之一。我们提出了一种合成满足给定多项式循环不变量的循环的算法。我们正在考虑的这类循环可以用一个常系数代数递归方程组来建模,从而用程序变量之间的仿射运算来编码程序循环。我们通过精确地刻画满足给定不变量的所有环路的集合,将环路合成任务转化为多项式约束问题。我们证明了我们的方法的合理性,以及它相对于程序变量数量的先验固定上界的完备性。我们的工作应用于合成满足给定多项式循环不变量的循环——程序验证——以及从代数关系生成数字序列。为了理解合成循环的方法和启发式的可行性,我们使用Absynth工具来实现和评估该方法。
{"title":"Algebra-Based Reasoning for Loop Synthesis","authors":"Andreas Humenberger, Daneshvar Amrollahi, N. Bjørner, L. Kovács","doi":"10.1145/3527458","DOIUrl":"https://doi.org/10.1145/3527458","url":null,"abstract":"Provably correct software is one of the key challenges of our software-driven society. Program synthesis—the task of constructing a program satisfying a given specification—is one strategy for achieving this. The result of this task is then a program that is correct by design. As in the domain of program verification, handling loops is one of the main ingredients to a successful synthesis procedure. We present an algorithm for synthesizing loops satisfying a given polynomial loop invariant. The class of loops we are considering can be modeled by a system of algebraic recurrence equations with constant coefficients, thus encoding program loops with affine operations among program variables. We turn the task of loop synthesis into a polynomial constraint problem by precisely characterizing the set of all loops satisfying the given invariant. We prove soundness of our approach, as well as its completeness with respect to an a priori fixed upper bound on the number of program variables. Our work has applications toward synthesizing loops satisfying a given polynomial loop invariant—program verification—as well as generating number sequences from algebraic relations. To understand viability of the methodology and heuristics for synthesizing loops, we implement and evaluate the method using the Absynth tool.","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2022-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44325415","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Introduction to the Special Section on iFM 2020 iFM 2020特别部分介绍
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2022-03-31 DOI: 10.1145/3546592
Brijesh Dongol, E. Troubitsyna
In recent years, we have witnessed a proliferation of approaches that integrate several modeling, verification, simulation, and testing techniques. Such approaches facilitate more versatile and efficient analysis of modern computation-intensive systems. They provide powerful support for the analysis of different functional and non-functional properties of the systems, various hardware and software components, and their interaction, as well as the design and validation of diverse aspects of system behavior. iFM 2020 solicited high-quality papers reporting novel research results as well as tool papers and experience reports. The Program Committee (PC) received 63 submissions and selected 24 for publication, of which 2 were short papers. The conference was held online due to the COVID-19 pandemic. We received fantastic support from the general chair, Carlo Furia, and his team, allowing the virtual conference to proceed smoothly and efficiently. For this we are very thankful. Here is a collection of the extended versions of the best papers from the iFM 2020 conference that have been selected by the PC. The articles cover a broad spectrum of topics, describing formal verification of a file system for flash memory down to system-level code, error analysis of the arithmetic operations as a means of controlling error propagation, and loop synthesis from loop invariants via reductions to polynomial constraint problems. The three accepted articles are listed below:
近年来,我们见证了集成了多种建模、验证、模拟和测试技术的方法的激增。这种方法有助于对现代计算密集型系统进行更通用和高效的分析。它们为分析系统的不同功能和非功能特性、各种硬件和软件组件及其交互以及系统行为的不同方面的设计和验证提供了强大的支持。iFM 2020征集了报告新颖研究成果的高质量论文以及工具论文和经验报告。项目委员会(PC)收到了63份投稿,并选择了24份发表,其中2份是短文。由于新冠肺炎大流行,会议在网上举行。我们得到了总主席Carlo Furia和他的团队的大力支持,使虚拟会议得以顺利高效地进行。对此我们深表感谢。以下是PC选择的iFM 2020会议最佳论文的扩展版本。这些文章涵盖了广泛的主题,描述了闪存文件系统的正式验证,直到系统级代码,作为控制错误传播手段的算术运算的错误分析,以及通过对多项式约束问题的约简从循环不变量进行循环合成。以下列出了三个可接受的条款:
{"title":"Introduction to the Special Section on iFM 2020","authors":"Brijesh Dongol, E. Troubitsyna","doi":"10.1145/3546592","DOIUrl":"https://doi.org/10.1145/3546592","url":null,"abstract":"In recent years, we have witnessed a proliferation of approaches that integrate several modeling, verification, simulation, and testing techniques. Such approaches facilitate more versatile and efficient analysis of modern computation-intensive systems. They provide powerful support for the analysis of different functional and non-functional properties of the systems, various hardware and software components, and their interaction, as well as the design and validation of diverse aspects of system behavior. iFM 2020 solicited high-quality papers reporting novel research results as well as tool papers and experience reports. The Program Committee (PC) received 63 submissions and selected 24 for publication, of which 2 were short papers. The conference was held online due to the COVID-19 pandemic. We received fantastic support from the general chair, Carlo Furia, and his team, allowing the virtual conference to proceed smoothly and efficiently. For this we are very thankful. Here is a collection of the extended versions of the best papers from the iFM 2020 conference that have been selected by the PC. The articles cover a broad spectrum of topics, describing formal verification of a file system for flash memory down to system-level code, error analysis of the arithmetic operations as a means of controlling error propagation, and loop synthesis from loop invariants via reductions to polynomial constraint problems. The three accepted articles are listed below:","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2022-03-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48574476","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Verification of Crashsafe Caching in a Virtual File System Switch 虚拟文件系统交换机的crash - safe缓存验证
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2022-03-26 DOI: 10.1145/3523737
Stefan Bodenmüller, G. Schellhorn, W. Reif
When developing file systems, caching is a common technique to achieve a performant implementation. Integrating write-back caches is not primarily a problem for functional correctness, but is critical for proving crash safety. Since parts of written data are stored in volatile memory, special care has to be taken when integrating write-back caches to guarantee that a power cut during a running operation leads to a consistent state. This article shows how non-order-preserving caches can be added to a virtual file system switch (VFS) and gives a novel crash-safety criterion matching the characteristics of such caches. Broken down to individual files, a power cut can be explained by constructing an alternative run, where all writes since the last synchronization of that file have written a prefix. VFS caches have been integrated modularly into Flashix, a verified file system for flash memory, and both functional correctness and crash-safety of this extension have been verified with the interactive theorem prover KIV.
在开发文件系统时,缓存是实现高性能实现的常用技术。集成回写缓存主要不是功能正确性的问题,但对于证明崩溃安全性至关重要。由于写入数据的部分存储在易失性内存中,因此在集成回写缓存时必须特别小心,以确保在运行操作期间断电会导致一致的状态。本文展示了如何将非保序缓存添加到虚拟文件系统交换机(VFS)中,并给出了一种新的与此类缓存特性相匹配的崩溃安全准则。按单个文件划分,断电可以通过构建一个替代运行来解释,在该运行中,自上次同步该文件以来的所有写入都写入了前缀。VFS缓存已模块化集成到Flashix中,Flashix是一个经过验证的闪存文件系统,该扩展的功能正确性和崩溃安全性已通过交互式定理证明器KIV进行了验证。
{"title":"Verification of Crashsafe Caching in a Virtual File System Switch","authors":"Stefan Bodenmüller, G. Schellhorn, W. Reif","doi":"10.1145/3523737","DOIUrl":"https://doi.org/10.1145/3523737","url":null,"abstract":"When developing file systems, caching is a common technique to achieve a performant implementation. Integrating write-back caches is not primarily a problem for functional correctness, but is critical for proving crash safety. Since parts of written data are stored in volatile memory, special care has to be taken when integrating write-back caches to guarantee that a power cut during a running operation leads to a consistent state. This article shows how non-order-preserving caches can be added to a virtual file system switch (VFS) and gives a novel crash-safety criterion matching the characteristics of such caches. Broken down to individual files, a power cut can be explained by constructing an alternative run, where all writes since the last synchronization of that file have written a prefix. VFS caches have been integrated modularly into Flashix, a verified file system for flash memory, and both functional correctness and crash-safety of this extension have been verified with the interactive theorem prover KIV.","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2022-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47014395","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Statistical model checking for variability-intensive systems: applications to bug detection and minimization 变量密集系统的统计模型检查:用于缺陷检测和最小化的应用
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2021-12-01 DOI: 10.1007/s00165-021-00563-2
Maxime Cordy, Sami Lazreg, Mike Papadakis, Axel Legay
{"title":"Statistical model checking for variability-intensive systems: applications to bug detection and minimization","authors":"Maxime Cordy, Sami Lazreg, Mike Papadakis, Axel Legay","doi":"10.1007/s00165-021-00563-2","DOIUrl":"https://doi.org/10.1007/s00165-021-00563-2","url":null,"abstract":"","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"46794170","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Editorial 编辑
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2021-12-01 DOI: 10.1007/s00165-021-00569-w
Wolfgang Ahrendt, S. L. Tapia Tarifa, Heike Wehrheim
{"title":"Editorial","authors":"Wolfgang Ahrendt, S. L. Tapia Tarifa, Heike Wehrheim","doi":"10.1007/s00165-021-00569-w","DOIUrl":"https://doi.org/10.1007/s00165-021-00569-w","url":null,"abstract":"","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"49089444","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Editorial 社论
IF 1 4区 计算机科学 Q2 Mathematics Pub Date : 2021-12-01 DOI: 10.1007/s00165-021-00565-0
Jordi Cabot, Heike Wehrheim, E. Boiten
{"title":"Editorial","authors":"Jordi Cabot, Heike Wehrheim, E. Boiten","doi":"10.1007/s00165-021-00565-0","DOIUrl":"https://doi.org/10.1007/s00165-021-00565-0","url":null,"abstract":"","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":null,"pages":null},"PeriodicalIF":1.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44033606","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Formal Aspects of Computing
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1