{"title":"Neural Network Verification using Residual Reasoning","authors":"Y. Elboher, Elazar Cohen, Guy Katz","doi":"10.48550/arXiv.2208.03083","DOIUrl":"https://doi.org/10.48550/arXiv.2208.03083","url":null,"abstract":"With the increasing integration of neural networks as components in mission-critical systems, there is an increasing need to ensure that they satisfy various safety and liveness requirements. In recent years, numerous sound and complete verification methods have been proposed towards that end, but these typically suffer from severe scalability limitations. Recent work has proposed enhancing such verification techniques with abstraction-refinement capabilities, which have been shown to boost scalability: instead of verifying a large and complex network, the verifier constructs and then verifies a much smaller network, whose correctness implies the correctness of the original network. A shortcoming of such a scheme is that if verifying the smaller network fails, the verifier needs to perform a refinement step that increases the size of the network being verified, and then start verifying the new network from scratch - effectively\"wasting\"its earlier work on verifying the smaller network. In this paper, we present an enhancement to abstraction-based verification of neural networks, by using residual reasoning: the process of utilizing information acquired when verifying an abstract network, in order to expedite the verification of a refined network. In essence, the method allows the verifier to store information about parts of the search space in which the refined network is guaranteed to behave correctly, and allows it to focus on areas where bugs might be discovered. We implemented our approach as an extension to the Marabou verifier, and obtained promising results.","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"174 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125800228","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Tobias Runge, Alexander Kittelmann, M. Servetto, A. Potanin, Ina Schaefer
{"title":"Information Flow Control-by-Construction for an Object-Oriented Language Using Type Modifiers","authors":"Tobias Runge, Alexander Kittelmann, M. Servetto, A. Potanin, Ina Schaefer","doi":"10.48550/arXiv.2208.02672","DOIUrl":"https://doi.org/10.48550/arXiv.2208.02672","url":null,"abstract":"In security-critical software applications, confidential information must be prevented from leaking to unauthorized sinks. Static analysis techniques are widespread to enforce a secure information flow by checking a program after construction. A drawback of these systems is that incomplete programs during construction cannot be checked properly. The user is not guided to a secure program by most systems. We introduce IFbCOO, an approach that guides users incrementally to a secure implementation by using refinement rules. In each refinement step, confidentiality or integrity (or both) is guaranteed alongside the functional correctness of the program, such that insecure programs are declined by construction. In this work, we formalize IFbCOO and prove soundness of the refinement rules. We implement IFbCOO in the tool CorC and conduct a feasibility study by successfully implementing case studies.","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-08-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128424192","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Auto-active Verification of Floating-point Programs via Nonlinear Real Provers","authors":"Junaid Rasheed, M. Konečný","doi":"10.48550/arXiv.2207.00921","DOIUrl":"https://doi.org/10.48550/arXiv.2207.00921","url":null,"abstract":". We give a process for verifying numerical programs against their functional specifications. Our implementation is capable of automatically verifying programs against tight error bounds featuring common elementary functions. We demonstrate and evaluate our implementation on several examples, yielding the first fully verified SPARK implementations of the sine and square root functions. The process integrates existing tools using a series of transformations and derivations, building on the proving process in SPARK where Why3 produces Verification Conditions (VCs) and tools such as SMT solvers attempt to verify them. We add steps aimed specifically at VCs that contain inequalities with both floating-point operations and exact real functions. PropaFP is our open-source implementation of these steps. The steps include symbolic simplifications, deriving bounds via interval arithmetic, and safely replacing floating-point operations with exact operations, utilizing tools such as FPTaylor or Gappa to bound the compound rounding errors of expressions. Finally, the VCs are passed to provers such as dReal, MetiTarski or LPPaver which attempt to complete the proof or suggest possible counter-examples.","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126999878","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
P. Antonino, J. Ferreira, A. Sampaio, A. W. Roscoe
{"title":"Specification is Law: Safe Creation and Upgrade of Ethereum Smart Contracts","authors":"P. Antonino, J. Ferreira, A. Sampaio, A. W. Roscoe","doi":"10.48550/arXiv.2205.07529","DOIUrl":"https://doi.org/10.48550/arXiv.2205.07529","url":null,"abstract":"Smart contracts are the building blocks of the\"code is law\"paradigm: the smart contract's code indisputably describes how its assets are to be managed - once it is created, its code is typically immutable. Faulty smart contracts present the most significant evidence against the practicality of this paradigm; they are well-documented and resulted in assets worth vast sums of money being compromised. To address this issue, the Ethereum community proposed (i) tools and processes to audit/analyse smart contracts, and (ii) design patterns implementing a mechanism to make contract code mutable. Individually, (i) and (ii) only partially address the challenges raised by the\"code is law\"paradigm. In this paper, we combine elements from (i) and (ii) to create a systematic framework that moves away from\"code is law\"and gives rise to a new\"specification is law\"paradigm. It allows contracts to be created and upgraded but only if they meet a corresponding formal specification. The framework is centered around emph{a trusted deployer}: an off-chain service that formally verifies and enforces this notion of conformance. We have prototyped this framework, and investigated its applicability to contracts implementing two widely used Ethereum standards: the ERC20 Token Standard and ERC1155 Multi Token Standard, with promising results.","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127028171","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Jasper Denkers, Marvin Brunner, L. V. Gool, E. Visser
{"title":"Configuration Space Exploration for Digital Printing Systems","authors":"Jasper Denkers, Marvin Brunner, L. V. Gool, E. Visser","doi":"10.1007/978-3-030-92124-8_24","DOIUrl":"https://doi.org/10.1007/978-3-030-92124-8_24","url":null,"abstract":"","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123874881","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Counterexample Classification","authors":"Cole Vick, Eunsuk Kang, S. Tripakis","doi":"10.1007/978-3-030-92124-8_18","DOIUrl":"https://doi.org/10.1007/978-3-030-92124-8_18","url":null,"abstract":"","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-07-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132802407","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"FRed: Conditional Model Checking via Reducers and Folders","authors":"D. Beyer, Marie-Christine Jakobs","doi":"10.1007/978-3-030-58768-0_7","DOIUrl":"https://doi.org/10.1007/978-3-030-58768-0_7","url":null,"abstract":"","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127270941","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Synthesis of P-Stable Abstractions","authors":"Anna Becchi, A. Cimatti, E. Zaffanella","doi":"10.1007/978-3-030-58768-0_12","DOIUrl":"https://doi.org/10.1007/978-3-030-58768-0_12","url":null,"abstract":"","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132958078","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Coënt, Julien Alexandre Dit Sandretto, Alexandre Chapoutot
{"title":"Cosimulation-Based Control Synthesis","authors":"A. Coënt, Julien Alexandre Dit Sandretto, Alexandre Chapoutot","doi":"10.1007/978-3-030-67220-1_24","DOIUrl":"https://doi.org/10.1007/978-3-030-67220-1_24","url":null,"abstract":"","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134125123","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Against the Illusory Will Hypothesis - A Reinterpretation of the Test Results from Daniel Wegner and Thalia Wheatley's I Spy Experiment","authors":"Robert Reimer","doi":"10.1007/978-3-030-67220-1_9","DOIUrl":"https://doi.org/10.1007/978-3-030-67220-1_9","url":null,"abstract":"","PeriodicalId":413471,"journal":{"name":"IEEE International Conference on Software Engineering and Formal Methods","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126641985","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}