Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJune 2024
Abstraction and Refinement: Towards Scalable and Exact Verification of Neural Networks
ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 33, Issue 5Article No.: 129, Pages 1–35https://doi.org/10.1145/3644387As a new programming paradigm, deep neural networks (DNNs) have been increasingly deployed in practice, but the lack of robustness hinders their applications in safety-critical domains. While there are techniques for verifying DNNs with formal guarantees, ...
- ArticleSeptember 2023
- research-articleJanuary 2023
SAT-Reach: A Bounded Model Checker for Affine Hybrid Systems
ACM Transactions on Embedded Computing Systems (TECS), Volume 22, Issue 2Article No.: 26, Pages 1–36https://doi.org/10.1145/3567425Bounded model checking (BMC) is well-known to be undecidable even for simple hybrid systems. Existing work targeted for a wide class of non-linear hybrid systems reduces the BMC problem to the satisfiability problem of an satisfiability modulo theory ...
- research-articleJanuary 2023
Evaluation of SMT solvers in abstraction-based software model checking
LADC '22: Proceedings of the 11th Latin-American Symposium on Dependable ComputingPages 109–116https://doi.org/10.1145/3569902.3570187The verification of safety-critical software systems is an algorithmically complex task, which often utilizes SMT (Satisfiability Modulo Theory) solvers for computing abstractions and refinements. It follows that the performance of SMT solvers impacts ...
- ArticleAugust 2022
Trainify: A CEGAR-Driven Training and Verification Framework for Safe Deep Reinforcement Learning
AbstractDeep Reinforcement Learning (DRL) has demonstrated its strength in developing intelligent systems. These systems shall be formally guaranteed to be trustworthy when applied to safety-critical domains, which is typically achieved by formal ...
-
- ArticleJuly 2022
Collaborative Verification of Uninterpreted Programs
Theoretical Aspects of Software EngineeringPages 148–154https://doi.org/10.1007/978-3-031-10363-6_10AbstractGiven a set of uninterpreted programs to be verified, the trace abstraction-based verification method can be used to solve them once at a time. The verification of different programs is independent of each other. However, the individual ...
- research-articleJune 2022
Abstract interpretation repair
PLDI 2022: Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and ImplementationPages 426–441https://doi.org/10.1145/3519939.3523453Abstract interpretation is a sound-by-construction method for program verification: any erroneous program will raise some alarm. However, the verification of correct programs may yield false-alarms, namely it may be incomplete. Ideally, one would like ...
Decomposing software verification into off-the-shelf components: an application to CEGAR
ICSE '22: Proceedings of the 44th International Conference on Software EngineeringPages 536–548https://doi.org/10.1145/3510003.3510064Techniques for software verification are typically realized as cohesive units of software with tightly coupled components. This makes it difficult to re-use components, and the potential for workload distribution is limited. Innovations in software ...
- research-articleJuly 2022
C for yourself: comparison of front-end techniques for formal verification
FormaliSE '22: Proceedings of the IEEE/ACM 10th International Conference on Formal Methods in Software EngineeringPages 1–11https://doi.org/10.1145/3524482.3527646With the improvement of hardware and algorithms, the main challenge of software model checking has shifted from pure algorithmic performance toward supporting a wider set of input programs. Successful toolchains tackle the problem of parsing a wide ...
- ArticleNovember 2021
Trace Abstraction-Based Verification for Uninterpreted Programs
AbstractThe verification of uninterpreted programs is undecidable in general. This paper proposes to employ counterexample-guided abstraction refinement (CEGAR) framework for verifying uninterpreted programs. Different from the existing interpolant-based ...
- research-articleAugust 2021
Conditional interpolation: making concurrent program verification more effective
ESEC/FSE 2021: Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringPages 144–154https://doi.org/10.1145/3468264.3468602Due to the state-space explosion problem, efficient verification of real-world programs in large scale is still a big challenge. Particularly, thread alternation makes the verification of concurrent programs much more difficult since it aggravates this ...
- research-articleFebruary 2021
Unbounded-Time Safety Verification of Guarded LTI Models with Inputs by Abstract Acceleration
Journal of Automated Reasoning (JAUR), Volume 65, Issue 2Pages 157–203https://doi.org/10.1007/s10817-020-09562-zAbstractReachability analysis of dynamical models is a relevant problem that has seen much progress in the last decades, however with clear limitations pertaining to the nature of the dynamics and the soundness of the results. This article focuses on ...
- research-articleNovember 2020
Abstraction refinement and antichains for trace inclusion of infinite state systems
Formal Methods in System Design (FMSD), Volume 55, Issue 3Pages 137–170https://doi.org/10.1007/s10703-020-00345-1AbstractA generic register automaton is a finite automaton equipped with variables (which may be viewed as counters or, more generally, registers) ranging over infinite data domains. A trace of a generic register automaton is an alternating sequence of ...
- research-articleAugust 2020
Efficient Strategies for CEGAR-Based Model Checking
Journal of Automated Reasoning (JAUR), Volume 64, Issue 6Pages 1051–1091https://doi.org/10.1007/s10817-019-09535-xAbstractAutomated formal verification is often based on the Counterexample-Guided Abstraction Refinement (CEGAR) approach. Many variants of CEGAR have been developed over the years as different problem domains usually require different strategies for ...
- research-articleFebruary 2020
Model checking embedded control software using OS-in-the-loop CEGAR
ASE '19: Proceedings of the 34th IEEE/ACM International Conference on Automated Software EngineeringPages 565–576https://doi.org/10.1109/ASE.2019.00059Verification of multitasking embedded software requires taking into account its underlying operating system w.r.t. its scheduling policy and handling of task priorities in order to achieve a higher degree of accuracy. However, such comprehensive ...
- ArticleSeptember 2019
An Incremental SAT-Based Approach to the Graph Colouring Problem
Principles and Practice of Constraint ProgrammingPages 213–231https://doi.org/10.1007/978-3-030-30048-7_13AbstractWe propose and evaluate a new CNF encoding based on Zykov’s tree for computing the chromatic number of a graph. Zykov algorithms are branch-and-bound procedures, that branch on pairings of vertices that express whether or not two non-adjacent ...
- research-articleMay 2019
Practical GUI testing of Android applications via model abstraction and refinement
ICSE '19: Proceedings of the 41st International Conference on Software EngineeringPages 269–280https://doi.org/10.1109/ICSE.2019.00042This paper introduces a new, fully automated model-based approach for effective testing of Android apps. Different from existing model-based approaches that guide testing with a static GUI model (i.e., the model does not evolve its abstraction during ...
- ArticleNovember 2018
In-Place vs. Copy-on-Write CEGAR Refinement for Block Summarization with Caching
Leveraging Applications of Formal Methods, Verification and Validation. VerificationPages 197–215https://doi.org/10.1007/978-3-030-03421-4_14AbstractBlock summarization is an efficient technique in software verification to decompose a verification problem into separate tasks and to avoid repeated exploration of reusable parts of a program. In order to benefit from abstraction at the same time, ...
- posterMay 2018
Systematic top-down design of cyber-physical models with integrated validation and formal verification
ICSE '18: Proceedings of the 40th International Conference on Software Engineering: Companion ProceeedingsPages 274–275https://doi.org/10.1145/3183440.3194967The complexity of designing and verifying large-scale systems requires abstract models. Consistently and systematically deriving a more concrete model from an abstract model with regard to verification of its behavior against certain properties is an ...