Martin Brain

dblp:25/2814 · DBLP profile ↗
← Back
27ranked-venue papers
14as first author
2since 2021 · last 2024
0000-0003-4216-7151ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 20 · 10 first-author · 2 since 2021Theory of computation · 16 · 8 first-author · 1 since 2021Artificial intelligence and machine learning · 4 · 1 first-author
YearPublicationVenuePosition
2024 A Pyramid Of (Formal) Software Verification
abstract
Abstract 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 tools and ideas is written by and for the research community. The scale, diversity and focus of the literature can act as a barrier, separating industrial users and the wider academic community from the tools that could make their work more efficient, more certain and more productive. This tutorial gives a simple classification of verification techniques in terms of a pyramid and uses it to describe the six main schools of verification technologies. We have found this approach valuable for building collaborations with industry as it allows us to explain the intrinsic strengths and weaknesses of techniques and pick the right tool for any given industrial application. The model also highlights some of the cultural differences and unspoken assumptions of different areas of verification and illuminates future directions.
Martin Brain, Elizabeth Polgreen
FM (2)1
2022 cvc5: A Versatile and Industrial-Strength SMT Solver
abstract
Abstract 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 features and components introduced since CVC4 1.8. We evaluate cvc5 ’s performance on all benchmarks in SMT-LIB and provide a comparison against CVC4 and Z3.
Haniel Barbosa, Clark W. Barrett, Martin Brain, Gereon Kremer, Hanna Lachnitt, Makai Mann, Abdalrhman Mohamed, Mudathir Mohamed, Aina Niemetz, Andres Nötzli, Alex Ozdemir, Mathias Preiner, Andrew Reynolds 0001, Ying Sheng 0007, Cesare Tinelli, Yoni Zohar
TACAS (1)3
2019 Invertibility Conditions for Floating-Point Formulas
abstract
Automated reasoning procedures are essential for a number of applications that involve bit-exact floating-point computations. This paper presents conditions that characterize when a variable in a floating-point constraint has a solution, which we call invertibility conditions. We describe a novel workflow that combines human interaction and a syntax-guided synthesis (SyGuS) solver that was used for discovering these conditions. We verify our conditions for several floating-point formats. One implication of this result is that a fragment of floating-point arithmetic admits compact quantifier elimination. We implement our invertibility conditions in a prototype extension of our solver CVC4, showing their usefulness for solving quantified constraints over floating-points.
Martin Brain, Aina Niemetz, Mathias Preiner, Andrew Reynolds 0001, Clark W. Barrett, Cesare Tinelli
CAV (2)1
2019 Building Better Bit-Blasting for Floating-Point Problems
abstract
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 paper presents SymFPU, a library of encodings that can be included in solvers. It also includes a verification argument for its correctness, and experimental results showing that its use in CVC4 out-performs all previous tools. As well as a significantly improved performance and correctness, it is hoped this will give a simple route to add support for the theory of floating-point.
Martin Brain, Florian Schanda, Youcheng Sun
TACAS (1)1
2019 Application of Abstract Interpretation to the Automotive Electronic Control System
Tomoya Yamaguchi 0001, Martin Brain, Chirs Ryder, Yosikazu Imai, Yoshiumi Kawamura
VMCAI2
2017 Functional Requirements-Based Automated Testing for Avionics
abstract
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, in order to generate tests automatically that are good enough to replace existing labor-intensive test writing procedures while maintaining independence from implementation artefacts. Given that manual processes are often empirical and subjective, we begin by formally defining a metric, which extends recognized best practice from code coverage analysis strategies to generate tests that adequately cover the requirements. We then implement it in an automated requirements testing procedure and apply it in a case study with industrial partners. In review, the toolchain developed here is demonstrated to significantly reduce the human effort for the qualification of software products under DO-178 guidance.
Youcheng Sun, Martin Brain, Daniel Kroening, Andrew Hawthorn, Thomas Wilson, Florian Schanda, Francisco Javier Guzman Jimenez, Simon Daniel, Chris Bryan, Ian Broster
ICECCS2
2017 Incremental bounded model checking for embedded software
abstract
Abstract 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 verification tools based on bounded model checking (BMC). Existing industrial tools for embedded software use an off-the-shelf bounded model checker and apply it iteratively to verify the program with an increasing number of unwindings. This approach unnecessarily wastes time repeating work that has already been done and fails to exploit the power of incremental SAT solving. This article reports on the extension of the software model checker C BMC to support incremental BMC and its successful integration with the industrial embedded software verification tool BTC E MBEDDED TESTER . We present an extensive evaluation over large industrial embedded programs, mainly from the automotive industry. We show that incremental BMC cuts runtimes by one order of magnitude in comparison to the standard non-incremental approach, enabling the application of formal verification to large and complex embedded software. We furthermore report promising results on analysing programs with arbitrary loop structure using incremental BMC, demonstrating its applicability and potential to verify general software beyond the embedded domain.
Peter Schrammel, Daniel Kroening, Martin Brain, Ruben Martins, Tino Teige, Tom Bienmüller
Formal Aspects Comput.3
2016 SC2: Satisfiability Checking Meets Symbolic Computation - (Project Paper)
Erika Ábrahám, John Abbott, Bernd Becker 0001, Anna Maria Bigatti, Martin Brain, Bruno Buchberger, Alessandro Cimatti, James H. Davenport, Matthew England 0001, Pascal Fontaine, Stephen Forrest, Alberto Griggio, Daniel Kroening, Werner M. Seiler, Thomas Sturm 0001
CICM5
2016 Automatic Generation of Propagation Complete SAT Encodings
Martin Brain, Liana Hadarean, Daniel Kroening, Ruben Martins
VMCAI1
2015 An Automatable Formal Semantics for IEEE-754 Floating-Point Arithmetic
abstract
Automated reasoning tools often provide little or no support to reason accurately and efficiently about floating-point arithmetic. As a consequence, software verification systems that use these tools are unable to reason reliably about programs containing floating-point calculations or may give unsound results. These deficiencies are in stark contrast to the increasing awareness that the improper use of floating-point arithmetic in programs can lead to unintuitive and harmful defects in software. To promote coordinated efforts towards building efficient and accurate floating-point reasoning engines, this paper presents a formalization of the IEEE-754 standard for floating-point arithmetic as a theory in many-sorted first-order logic. Benefits include a standardized syntax and unambiguous semantics, allowing tool interoperability and sharing of benchmarks, and providing a basis for automated, formal analysis of programs that process floating-point data.
Martin Brain, Cesare Tinelli, Philipp Rümmer, Thomas Wahl
ARITH1
2015 Successful Use of Incremental BMC in the Automotive Industry
Peter Schrammel, Daniel Kroening, Martin Brain, Ruben Martins, Tino Teige, Tom Bienmüller
FMICS3
2015 Safety Verification and Refutation by k-Invariants and k-Induction
Martin Brain, Saurabh Joshi 0001, Daniel Kroening, Peter Schrammel
SAS1
2014 Model and Proof Generation for Heap-Manipulating Programs
Martin Brain, Cristina David, Daniel Kroening, Peter Schrammel
ESOP1
2014 Deciding floating-point logic with abstract conflict driven clause learning
abstract
We present a bit-precise decision procedure for the theory of floating-point arithmetic. The core of our approach is a non-trivial, lattice-theoretic generalisation of the conflict-driven clause learning algorithm in modern sat solvers to lattice-based abstractions. We use floating-point intervals to reason about the ranges of variables, which allows us to directly handle arithmetic and is more efficient than encoding a formula as a bit-vector as in current floating-point solvers. Interval reasoning alone is incomplete, and we obtain completeness by developing a conflict analysis algorithm that reasons natively about intervals. We have implemented this method in the mathsat5 smt solver and evaluated it on assertion checking problems that bound the values of program variables. Our new technique is faster than a bit-vector encoding approach on 80 % of the benchmarks, and is faster by one order of magnitude or more on 60 % of the benchmarks. The generalisation of cdcl we propose is widely applicable and can be used to derive abstraction-based smt solvers for other theories.
Martin Brain, Vijay Victor D'Silva, Alberto Griggio, Leopold Haller, Daniel Kroening
Formal Methods Syst. Des.1
2013 Interpolation-Based Verification of Floating-Point Programs with Abstract CDCL
Martin Brain, Vijay Victor D'Silva, Alberto Griggio, Leopold Haller, Daniel Kroening
SAS1
2013 An Abstract Interpretation of DPLL(T)
Martin Brain, Vijay Victor D'Silva, Leopold Haller, Alberto Griggio, Daniel Kroening
VMCAI1
2012 Deciding floating-point logic with systematic abstraction
Leopold Haller, Alberto Griggio, Martin Brain, Daniel Kroening
FMCAD3
2012 Simplifying the Verification of Quantified Array Assertions via Code Transformation
Mohamed Nassim Seghir, Martin Brain
LOPSTR2
2011 Automatic music composition using answer set programming
abstract
Abstract Music composition used to be a pen and paper activity. These days music is often composed with the aid of computer software, even to the point where the computer composes parts of the score autonomously. The composition of most styles of music is governed by rules. We show that by approaching the automation, analysis and verification of composition as a knowledge representation task and formalising these rules in a suitable logical language, powerful and expressive intelligent composition tools can be easily built. This application paper describes the use of answer set programming to construct an automated system, named Anton , that can compose melodic, harmonic and rhythmic music, diagnose errors in human compositions and serve as a computer-aided composition tool. The combination of harmonic, rhythmic and melodic composition in a single framework makes Anton unique in the growing area of algorithmic composition. With near real-time composition, Anton reaches the point where it can not only be used as a component in an interactive composition tool but also has the potential for live performances and concerts or automatically generated background music in a variety of applications. With the use of a fully declarative language and an “off-the-shelf” reasoning engine, Anton provides the human composer a tool which is significantly simpler, more compact and more versatile than other existing systems.
Georg Boenn, Martin Brain, Marina De Vos, John ffitch
Theory Pract. Log. Program.2
2009 ANTON: Composing Logic and Logic Composing
Georg Boenn, Martin Brain, Marina De Vos, John ffitch
LPNMR2
2009 Generating Optimal Code Using Answer Set Programming
Tom Crick, Martin Brain, Marina De Vos, John ffitch
LPNMR2
2009 The Significance of Memory Costs in Answer Set Solver Implementation
abstract
Implementation costs linked to processor memory subsystems (cache miss costs, stalls due to bandwidth limits, etc.) have been shown to be a factor in the performance of a variety of declarative programming tools. This article investigates their impact on answer set solvers and the factors that control them. Experiments independently altering the size and difficulty of input programs allow a qualitative assessment of whether input program or solver design is a greater factor and a quantitative assessment of how much of problem these issues create.A variety of processor performance metrics are recorded and used to provide a detailed picture of what limits solver performance and dispel a number of common misapprehensions.To demonstrate the degree to which these problems can be addressed, smodels-ie is presented. This is a version of the smodels solver with a number of implementation changes to improve cache utilisation, one major aspect of memory costs.
Martin Brain, Marina De Vos
J. Log. Comput.1
2008 Automatic Composition of Melodic and Harmonic Music by Answer Set Programming
Georg Boenn, Martin Brain, Marina De Vos, John ffitch
ICLP2
2008 ASPVIZ: Declarative Visualisation and Animation Using Answer Set Programming
Owen Cliffe, Marina De Vos, Martin Brain, Julian A. Padget
ICLP3
2007 Debugging ASP Programs by Means of ASP
Martin Brain, Martin Gebser, Jörg Pührer, Torsten Schaub, Hans Tompits, Stefan Woltran
LPNMR1
2006 Declarative Problem Solving Using Answer Set Semantics
Martin Brain
ICLP1
2006 TOAST: Applying Answer Set Programming to Superoptimisation
Martin Brain, Tom Crick, Marina De Vos, John ffitch
ICLP1