Martin Brain
YOU?
Author Swipe
View article: A Pyramid Of (Formal) Software Verification
A Pyramid Of (Formal) Software Verification Open
Over the past few years there has been significant progress in the various fields of software verification resulting in many useful tools and successful deployments, both academic and commercial. However much of the work describing these t…
View article: Misconceptions about Loops in C
Misconceptions about Loops in C Open
Loop analysis is a key component of static analysis tools. Unfortunately, there are several rare edge cases. As a tool moves from academic prototype to production-ready, obscure cases can and do occur. This results in loop analysis being a…
View article: [artifact] Misconceptions About Loops in C
[artifact] Misconceptions About Loops in C Open
NOTE: PLEASE VERIFY INTEGRITY AFTER DOWNLOAD: - SHA-256: eb5dab87eb050ddb23b2041e6e2727ad41a01bb2eeca82dccf1f4517e0114cc8 IF HASHES DO NOT MATCH, PLEASE RE-DOWNLOAD AND VERIFY AGAIN. --------------------------------------------------------…
View article: Efficient Normalized Reduction and Generation of Equivalent Multivariate Binary Polynomials
Efficient Normalized Reduction and Generation of Equivalent Multivariate Binary Polynomials Open
Polynomials over fixed-width binary numbers (bytes, ℤ/2ωℤ, bit-vectors, etc.) appear widely in computer science including obfuscation and reverse engineering, program analysis, automated theorem proving, verification, errorcorrecting codes…
View article: [artifact69] Common Misconceptions About Loops in C
[artifact69] Common Misconceptions About Loops in C Open
This artefact contains the examples used in the paper and presents them as a practical test suite. The paper uses the program text, and no generated results are provided. Each example is a separate program and can be used in several ways. …
View article: cvc5: A Versatile and Industrial-Strength SMT Solver
cvc5: A Versatile and Industrial-Strength SMT Solver Open
cvc5 is the latest SMT solver in the cooperating validity checker series and builds on the successful code base of CVC4. This paper serves as a comprehensive system description of cvc5 ’s architectural design and highlights the major featu…
View article: Verifying Reachability Properties in Markov Chains via Incremental Induction
Verifying Reachability Properties in Markov Chains via Incremental Induction Open
There is a scalability gap between probabilistic and non-probabilistic verification. Probabilistic model checking tools are based either on explicit engines or on (Multi-Terminal) Binary Decision Diagrams. These structures are complemented…
View article: Building Better Bit-Blasting for Floating-Point Problems
Building Better Bit-Blasting for Floating-Point Problems Open
An effective approach to handling the theory of floating-point is to reduce it to the theory of bit-vectors. Implementing the required encodings is complex, error prone and requires a deep understanding of floating-point hardware. This pap…
View article: CVC4 at the SMT Competition 2018
CVC4 at the SMT Competition 2018 Open
This paper is a description of the CVC4 SMT solver as entered into the 2018 SMT Competition. We only list important differences from the 2017 SMT Competition version of CVC4. For further and more detailed information about CVC4, please ref…
View article: SC-square: when Satisfiability Checking and Symbolic Computation join forces
SC-square: when Satisfiability Checking and Symbolic Computation join forces Open
Symbolic Computation and Satisfiability Checking are two research areas, both having their individual scientific focus but with common interests, e.g., in the development, implementation and application of decision procedures for arithmeti…
View article: Functional Requirements-Based Automated Testing for Avionics
Functional Requirements-Based Automated Testing for Avionics Open
We propose and demonstrate a method for the reduction of testing effort in safety-critical software development using DO-178 guidance. We achieve this through the application of Bounded Model Checking (BMC) to formal low-level requirements…
View article: Incremental bounded model checking for embedded software
Incremental bounded model checking for embedded software Open
Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification of behavioural requirements, finding runtime errors and test case generation are some of the most common applications of automated ve…
View article: Use Of Multiple Cores In Csound
Use Of Multiple Cores In Csound Open
The basic concepts and the new algorithms that are used in Csound6 in order to enhance performance via parallelism are described in some detail. The hope is that this will assist users in determining when this technology is advantageous, a…
View article: Algebraic Techniques in Software Verification : Challenges and Opportunities.
Algebraic Techniques in Software Verification : Challenges and Opportunities. Open
One of the main application areas and driving forces behind the development of Satisfiability Modulo Theory (SMT) solvers is software verification. The requirements of software verification are somewhat different to other applications of a…
View article: Towards Automated Bounded Model Checking of API Implementations.
Towards Automated Bounded Model Checking of API Implementations. Open
We introduce and demonstrate the viability of a novel technique for verifying that implementations of application program interfaces (APIs) are bug free. Our technique applies a new abstract interpretation to extract an underlying model of…
View article: SC2: Satisfiability Checking meets Symbolic Computation (Project Paper)
SC2: Satisfiability Checking meets Symbolic Computation (Project Paper) Open
Symbolic Computation and Satisfiability Checking are two research areas, both having their individual scientific focus but sharing also common interests in the development, implementation and application of decision procedures for arithmet…
View article: Safety Verification and Refutation by k-invariants and k-induction (extended version)
Safety Verification and Refutation by k-invariants and k-induction (extended version) Open
Most software verification tools can be classified into one of a number of established families, each of which has their own focus and strengths. For example, concrete counterexample generation in model checking, invariant inference in abs…