Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- ArticleDecember 2024
Simple LTL Model Checking on Finite and Infinite Traces over Concrete Domains
AbstractThere exist different semantics for Linear Temporal Logic (LTL) in terms of finiteness of the considered traces. Although several ones can be useful depending on the verification context, no verification framework handle their diversity in a ...
- ArticleDecember 2024
- research-articleSeptember 2024
ESBMC-Python: A Bounded Model Checker for Python Programs
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1836–1840https://doi.org/10.1145/3650212.3685304This paper introduces a tool for verifying Python programs, which, using type annotation and front-end processing, can harness the capabilities of a bounded model-checking (BMC) pipeline. It transforms an input program into an abstract syntax tree to ...
- research-articleSeptember 2024
JCWIT: A Correctness-Witness Validator for Java Programs Based on Bounded Model Checking
ISSTA 2024: Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and AnalysisPages 1831–1835https://doi.org/10.1145/3650212.3685303Witness validation is a formal verification method to independently verify software verification tool results, with two main categories: violation and correctness witness validators. Validators for violation witnesses in Java include Wit4Java and GWIT, ...
- ArticleSeptember 2024
UnsafeCop: Towards Memory Safety for Real-World Unsafe Rust Code with Practical Bounded Model Checking
AbstractRust has gained popularity as a safer alternative to C/C++ for low-level programming due to its memory-safety features and minimal runtime overhead. However, the use of the “unsafe” keyword allows developers to bypass safety guarantees, posing ...
-
- research-articleOctober 2023
Thorium: A Language for Bounded Verification of Dynamic Reactive Objects
REBLS 2023: Proceedings of the 10th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and SystemsPages 1–13https://doi.org/10.1145/3623506.3623574Developing reliable reactive software is notoriously difficult – particularly when that software reacts by changing its behavior. Some of this difficulty is inherent; software that must respond to external events as they arrive tends to end up in ...
- ArticleSeptember 2023
- ArticleApril 2023
FuSeBMC_IA: Interval Analysis and Methods for Test Case Generation: (Competition Contribution)
Fundamental Approaches to Software EngineeringPages 324–329https://doi.org/10.1007/978-3-031-30826-0_18AbstractThe cooperative verification of Bounded Model Checking and Fuzzing has proved to be one of the most effective techniques when testing C programs. FuSeBMC is a test-generation tool that employs BMC and Fuzzing to produce test cases. In Test-Comp ...
- short-paperFebruary 2023
Assertion Based Verification using Yosys: A Case Study from Nuclear Domain
ISEC '23: Proceedings of the 16th Innovations in Software Engineering ConferenceArticle No.: 16, Pages 1–5https://doi.org/10.1145/3578527.3578540Assertion Based Verification is a design methodology that integrates Formal Methods as part of the design process. As each module is designed, the designer expresses the functional, structural and interface requirements of the module as logical formulas ...
- research-articleJanuary 2023
A Partial Order View of Message-Passing Communication Models
Proceedings of the ACM on Programming Languages (PACMPL), Volume 7, Issue POPLArticle No.: 55, Pages 1601–1627https://doi.org/10.1145/3571248There is a wide variety of message-passing communication models, ranging from synchronous "rendez-vous" communications to fully asynchronous/out-of-order communications. For large-scale distributed systems, the communication model is determined by the ...
- short-paperJanuary 2023
CBMC-SSM: Bounded Model Checking of C Programs with Symbolic Shadow Memory
ASE '22: Proceedings of the 37th IEEE/ACM International Conference on Automated Software EngineeringArticle No.: 156, Pages 1–5https://doi.org/10.1145/3551349.3559523Dynamic program analysis tools such as Eraser, TaintCheck, or ThreadSanitizer abstract the contents of individual memory locations and store the abstraction results in a separate data structure called shadow memory. They then use this meta-information ...
- ArticleApril 2022
VeriFuzz: Good Seeds for Fuzzing (Competition Contribution)
Fundamental Approaches to Software EngineeringPages 341–346https://doi.org/10.1007/978-3-030-99429-7_20AbstractWe present VeriFuzz 1.2 with two new enhancements: (1) unroll the given program to a short depth and use BMC to produce incomplete test inputs, which are extended into complete inputs, and (2) if BMC fails for this short unrolling, automatically ...
- ArticleApril 2022
FuSeBMC v4: Smart Seed Generation for Hybrid Fuzzing: (Competition Contribution)
Fundamental Approaches to Software EngineeringPages 336–340https://doi.org/10.1007/978-3-030-99429-7_19AbstractFuSeBMC is a test generator for finding security vulnerabilities in C programs. In Test-Comp 2021, we described a previous version that incrementally injected labels to guide Bounded Model Checking (BMC) and Evolutionary Fuzzing engines to produce ...
- ArticleMarch 2021
FuSeBMC: A White-Box Fuzzer for Finding Security Vulnerabilities in C Programs (Competition Contribution)
Fundamental Approaches to Software EngineeringPages 363–367https://doi.org/10.1007/978-3-030-71500-7_19AbstractWe describe and evaluate a novel white-box fuzzer for C programs named FuSeBMC, which combines fuzzing and symbolic execution, and applies Bounded Model Checking (BMC) to find security vulnerabilities in C programs. FuSeBMC explores and analyzes C ...
- ArticleApril 2020
ESBMC: Scalable and Precise Test Generation based on the Floating-Point Theory: (Competition Contribution)
Fundamental Approaches to Software EngineeringPages 525–529https://doi.org/10.1007/978-3-030-45234-6_27AbstractESBMC is an SMT-based bounded model checker for real-world C programs. Such programs often represent real numbers using the floating-points, most commonly, the IEEE floating-point standard (IEEE 754-2008). Thus, ESBMC now includes a new floating-...
- ArticleOctober 2019
Fast, Automatic, and Nearly Complete Structural Unit-Test Generation Combining Genetic Algorithms and Formal Methods
AbstractSoftware testing is a time consuming and error prone activity, mostly manual in most industries. One approach to increase productivity is to automatically generate tests. In this paper, we focus on automatic generation of structural unit tests of ...
- research-articleOctober 2018
Towards counterexample-guided k-induction for fast bug detection
ESEC/FSE 2018: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringPages 765–769https://doi.org/10.1145/3236024.3264840Recently, the k-induction algorithm has proven to be a successful approach for both finding bugs and proving correctness. However, since the algorithm is an incremental approach, it might waste resources trying to prove incorrect programs. In this paper,...
- columnMay 2017
SafeProver: A High-Performance Verification Tool
ACM SIGAda Ada Letters (SIGADA), Volume 36, Issue 2Pages 47–48https://doi.org/10.1145/3092893.3092901In this paper, we present SAFEPROVER, a formal verification tool based on bounded model checking (BMC) and which uses a set of algorithms derived from the K-Induction principle [1] for invariant satisfaction and lemma generation. The main novelty ...
- articleAugust 2016
Checking EMTLK Properties of Timed Interpreted Systems Via Bounded Model Checking
We investigate a SAT-based bounded model checking (BMC) method for EMTLK (the existential fragment of the metric temporal logic with knowledge) that is interpreted over timed models generated by timed interpreted systems. In particular, we translate the ...