Andreas Humenberger, Daneshvar Amrollahi, N. Bjørner, L. Kovács
{"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":" ","pages":"1 - 31"},"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}
{"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":"34 1","pages":"1 - 1"},"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}
{"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":"34 1","pages":"1 - 33"},"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}
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":"33 1","pages":"827 - 827"},"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}
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":"33 1","pages":"1147 - 1172"},"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}
Alessandro Fantechi, Anne E. Haxthausen, Jim Woodcock
{"title":"Editorial","authors":"Alessandro Fantechi, Anne E. Haxthausen, Jim Woodcock","doi":"10.1007/s00165-021-00568-x","DOIUrl":"https://doi.org/10.1007/s00165-021-00568-x","url":null,"abstract":"","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"33 1","pages":"923 - 924"},"PeriodicalIF":1.0,"publicationDate":"2021-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44393017","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}
P. Stankaitis, A. Iliasov, Tsutomu Kobayashi, Y. A. Ameur, F. Ishikawa, A. Romanovsky
{"title":"A refinement-based development of a distributed signalling system","authors":"P. Stankaitis, A. Iliasov, Tsutomu Kobayashi, Y. A. Ameur, F. Ishikawa, A. Romanovsky","doi":"10.1007/s00165-021-00567-y","DOIUrl":"https://doi.org/10.1007/s00165-021-00567-y","url":null,"abstract":"","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"33 1","pages":"1009 - 1036"},"PeriodicalIF":1.0,"publicationDate":"2021-11-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44004990","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}
C. Menghi, A. M. Rizzi, A. Bernasconi, P. Spoletini
{"title":"TOrPEDO: witnessing model correctness with topological proofs","authors":"C. Menghi, A. M. Rizzi, A. Bernasconi, P. Spoletini","doi":"10.1007/s00165-021-00564-1","DOIUrl":"https://doi.org/10.1007/s00165-021-00564-1","url":null,"abstract":"","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"33 1","pages":"1039 - 1066"},"PeriodicalIF":1.0,"publicationDate":"2021-11-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"48780351","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}
{"title":"Drawing with SAT: four methods and A tool for producing railway infrastructure schematics","authors":"Bjørnar Luteberget, Christian Johansen","doi":"10.1007/s00165-021-00566-z","DOIUrl":"https://doi.org/10.1007/s00165-021-00566-z","url":null,"abstract":"","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"33 1","pages":"829 - 854"},"PeriodicalIF":1.0,"publicationDate":"2021-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"44247597","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}