Skip to main content

Showing 1–16 of 16 results for author: Melham, T

.
  1. arXiv:2502.04738  [pdf, other

    cs.AR

    Comprehensive Formal Verification of Observational Correctness for the CHERIoT-Ibex Processor

    Authors: Louis-Emile Ploix, Alasdair Armstrong, Tom Melham, Ray Lin, Haolong Wang, Anastasia Courtney

    Abstract: The CHERI architecture equips conventional RISC ISAs with significant architectural extensions that provide a hardware-enforced mechanism for memory protection and software compartmentalisation. Architectural capabilities replace conventional integer pointers with memory addresses bound to permissions constraining their use. We present the first comprehensive formal verification of a capability ex… ▽ More

    Submitted 7 February, 2025; originally announced February 2025.

    Comments: 17 pages

    ACM Class: B.6.2; J.6

  2. A Formal CHERI-C Semantics for Verification

    Authors: Seung Hoon Park, Rekha Pai, Tom Melham

    Abstract: CHERI-C extends the C programming language by adding hardware capabilities, ensuring a certain degree of memory safety while remaining efficient. Capabilities can also be employed for higher-level security measures, such as software compartmentalization, that have to be used correctly to achieve the desired security guarantees. As the extension changes the semantics of C, new theories and tooling… ▽ More

    Submitted 26 January, 2023; v1 submitted 14 November, 2022; originally announced November 2022.

    Comments: Accepted to appear in TACAS 2023

    ACM Class: D.3.1; F.3.2

    Journal ref: Tools and Algorithms for the Construction and Analysis of Systems, 2023, 549-568

  3. arXiv:2112.05990  [pdf, ps, other

    cs.FL cs.LO

    Active Learning of Abstract System Models from Traces using Model Checking [Extended]

    Authors: Natasha Yogananda Jeppu, Tom Melham, Daniel Kroening

    Abstract: We present a new active model-learning approach to generating abstractions of a system implementation, as finite state automata (FSAs), from execution traces. Given an implementation and a set of observable system variables, the generated automata admit all system behaviours over the given variables and provide useful insight in the form of invariants that hold on the implementation. To achieve th… ▽ More

    Submitted 11 December, 2021; originally announced December 2021.

    Comments: Extended version of the paper selected for publication at Design, Automation and Test in Europe (DATE-2022) conference

  4. arXiv:2106.00576  [pdf, other

    cs.LG cs.CV cs.SE

    Exposing Previously Undetectable Faults in Deep Neural Networks

    Authors: Isaac Dunn, Hadrien Pouget, Daniel Kroening, Tom Melham

    Abstract: Existing methods for testing DNNs solve the oracle problem by constraining the raw features (e.g. image pixel values) to be within a small distance of a dataset example for which the desired DNN output is known. But this limits the kinds of faults these approaches are able to detect. In this paper, we introduce a novel DNN testing method that is able to find faults in DNNs that other methods canno… ▽ More

    Submitted 1 June, 2021; originally announced June 2021.

    Comments: Accepted to the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2021)

    ACM Class: I.2.6; D.2.5

  5. arXiv:2001.11055  [pdf, other

    cs.CV cs.LG

    Evaluating Robustness to Context-Sensitive Feature Perturbations of Different Granularities

    Authors: Isaac Dunn, Laura Hanu, Hadrien Pouget, Daniel Kroening, Tom Melham

    Abstract: We cannot guarantee that training datasets are representative of the distribution of inputs that will be encountered during deployment. So we must have confidence that our models do not over-rely on this assumption. To this end, we introduce a new method that identifies context-sensitive feature perturbations (e.g. shape, location, texture, colour) to the inputs of image classifiers. We produce th… ▽ More

    Submitted 23 October, 2020; v1 submitted 29 January, 2020; originally announced January 2020.

  6. arXiv:2001.05230  [pdf, other

    cs.FL cs.SE

    Learning Concise Models from Long Execution Traces

    Authors: Natasha Yogananda Jeppu, Tom Melham, Daniel Kroening, John O'Leary

    Abstract: Abstract models of system-level behaviour have applications in design exploration, analysis, testing and verification. We describe a new algorithm for automatically extracting useful models, as automata, from execution traces of a HW/SW system driven by software exercising a use-case of interest. Our algorithm leverages modern program synthesis techniques to generate predicates on automaton edges,… ▽ More

    Submitted 5 May, 2020; v1 submitted 15 January, 2020; originally announced January 2020.

  7. arXiv:2001.01324  [pdf, ps, other

    cs.FL cs.LO

    Hardware/Software Co-verification Using Path-based Symbolic Execution

    Authors: Rajdeep Mukherjee, Saurabh Joshi, John O'Leary, Daniel Kroening, Tom Melham

    Abstract: Conventional tools for formal hardware/software co-verification use bounded model checking techniques to construct a single monolithic propositional formula. Formulas generated in this way are extremely complex and contain a great deal of irrelevant logic, hence are difficult to solve even by the state-of-the-art Satis ability (SAT) solvers. In a typical hardware/software co-design the firmware on… ▽ More

    Submitted 5 January, 2020; originally announced January 2020.

    Comments: 6 pages, 3 tables, 5 figures

  8. arXiv:1911.10244  [pdf, other

    cs.LG cs.AI cs.LO stat.ML

    DeepSynth: Automata Synthesis for Automatic Task Segmentation in Deep Reinforcement Learning

    Authors: Mohammadhosein Hasanbeig, Natasha Yogananda Jeppu, Alessandro Abate, Tom Melham, Daniel Kroening

    Abstract: This paper proposes DeepSynth, a method for effective training of deep Reinforcement Learning (RL) agents when the reward is sparse and non-Markovian, but at the same time progress towards the reward requires achieving an unknown sequence of high-level objectives. Our method employs a novel algorithm for synthesis of compact automata to uncover this sequential structure automatically. We synthesis… ▽ More

    Submitted 6 March, 2021; v1 submitted 22 November, 2019; originally announced November 2019.

    Comments: Extended version of AAAI 2021 paper

  9. arXiv:1908.01324  [pdf, ps, other

    cs.PL cs.AR cs.SC

    CREST: Hardware Formal Verification with ANSI-C Reference Specifications

    Authors: Andreas Tiemeyer, Tom Melham, Daniel Kroening, John O'Leary

    Abstract: This paper presents CREST, a prototype front-end tool intended as an add-on to commercial EDA formal verifcation environments. CREST is an adaptation of the CBMC bounded model checker for C, an academic tool widely used in industry for software analysis and property verification. It leverages the capabilities of CBMC to process hardware datapath specifications written in arbitrary ANSI-C, without… ▽ More

    Submitted 4 August, 2019; originally announced August 2019.

    Comments: 4 pages

  10. arXiv:1905.02463  [pdf, other

    cs.LG cs.CR cs.CV stat.ML

    Adaptive Generation of Unrestricted Adversarial Inputs

    Authors: Isaac Dunn, Hadrien Pouget, Tom Melham, Daniel Kroening

    Abstract: Neural networks are vulnerable to adversarially-constructed perturbations of their inputs. Most research so far has considered perturbations of a fixed magnitude under some $l_p$ norm. Although studying these attacks is valuable, there has been increasing interest in the construction of (and robustness to) unrestricted attacks, which are not constrained to a small and rather artificial subset of a… ▽ More

    Submitted 1 October, 2019; v1 submitted 7 May, 2019; originally announced May 2019.

    Comments: Updated to include new results

  11. arXiv:1804.08470  [pdf, other

    cs.CR cs.PL

    Automatic Heap Layout Manipulation for Exploitation

    Authors: Sean Heelan, Tom Melham, Daniel Kroening

    Abstract: Heap layout manipulation is integral to exploiting heap-based memory corruption vulnerabilities. In this paper we present the first automatic approach to the problem, based on pseudo-random black-box search. Our approach searches for the inputs required to place the source of a heap-based buffer overflow or underflow next to heap-allocated objects that an exploit developer, or automatic exploit ge… ▽ More

    Submitted 3 September, 2018; v1 submitted 23 April, 2018; originally announced April 2018.

    Journal ref: USENIX Security Symposium 2018: 763-779

  12. arXiv:1707.02011  [pdf, ps, other

    cs.LO

    Lifting CDCL to Template-based Abstract Domains for Program Verification

    Authors: Rajdeep Mukherjee, Peter Schrammel, Leopold Haller, Daniel Kroening, Tom Melham

    Abstract: The success of Conflict Driven Clause Learning (CDCL) for Boolean satisfiability has inspired adoption in other domains. We present a novel lifting of CDCL to program analysis called Abstract Conflict Driven Learning for Programs (ACDLP). ACDLP alternates between model search, which performs over-approximate deduction with constraint propagation, and conflict analysis, which performs under-approxi… ▽ More

    Submitted 6 July, 2017; originally announced July 2017.

  13. arXiv:1610.03052  [pdf, other

    cs.LO cs.DC cs.OS cs.SE

    Verification of the Tree-Based Hierarchical Read-Copy Update in the Linux Kernel

    Authors: Lihao Liang, Paul E. McKenney, Daniel Kroening, Tom Melham

    Abstract: Read-Copy Update (RCU) is a scalable, high-performance Linux-kernel synchronization mechanism that runs low-overhead readers concurrently with updaters. Production-quality RCU implementations for multi-core systems are decidedly non-trivial. Giving the ubiquity of Linux, a rare "million-year" bug can occur several times per day across the installed base. Stringent validation of RCU's complex behav… ▽ More

    Submitted 22 November, 2018; v1 submitted 10 October, 2016; originally announced October 2016.

    Comments: This is a long version of a conference paper published in the 2018 Design, Automation and Test in Europe Conference (DATE)

    ACM Class: D.2.4; D.1.3

    Journal ref: Design, Automation and Test in Europe Conference (2018): 61-66

  14. arXiv:1609.00169  [pdf, ps, other

    cs.SE cs.LO

    Equivalence Checking a Floating-point Unit against a High-level C Model (Extended Version)

    Authors: Rajdeep Mukherjee, Saurabh Joshi, Andreas Griesmayer, Daniel Kroening, Tom Melham

    Abstract: Semiconductor companies have increasingly adopted a methodology that starts with a system-level design specification in C/C++/SystemC. This model is extensively simulated to ensure correct functionality and performance. Later, a Register Transfer Level (RTL) implementation is created in Verilog, either manually by a designer or automatically by a high-level synthesis tool. It is essential to check… ▽ More

    Submitted 1 September, 2016; originally announced September 2016.

    Comments: 14 pages

  15. arXiv:1309.5742  [pdf, ps, other

    cs.LO

    On the Semantics of ReFLect as a Basis for a Reflective Theorem Prover

    Authors: Tom Melham, Raphael Cohn, Ian Childs

    Abstract: This paper explores the semantics of a combinatory fragment of reFLect, the lambda-calculus underlying a functional language used by Intel Corporation for hardware design and verification. ReFLect is similar to ML, but has a primitive data type whose elements are the abstract syntax trees of reFLect expressions themselves. Following the LCF paradigm, this is intended to serve as the object languag… ▽ More

    Submitted 23 September, 2013; originally announced September 2013.

  16. arXiv:1306.3882  [pdf, ps, other

    cs.SE eess.SY

    Chaining Test Cases for Reactive System Testing (extended version)

    Authors: Peter Schrammel, Tom Melham, Daniel Kroening

    Abstract: Testing of synchronous reactive systems is challenging because long input sequences are often needed to drive them into a state at which a desired feature can be tested. This is particularly problematic in on-target testing, where a system is tested in its real-life application environment and the time required for resetting is high. This paper presents an approach to discovering a test case chain… ▽ More

    Submitted 6 November, 2013; v1 submitted 14 June, 2013; originally announced June 2013.

    Comments: extended version of paper published at ICTSS'13

    ACM Class: D.2.4; D.2.5; F.3.1; F.2.2; C.3