Peter Schrammel

ORCID: 0000-0002-5713-1381
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Formal Methods in Verification
  • Software Testing and Debugging Techniques
  • Software Reliability and Analysis Research
  • Logic, programming, and type systems
  • Software Engineering Research
  • Real-Time Systems Scheduling
  • Parallel Computing and Optimization Techniques
  • Embedded Systems Design Techniques
  • Software System Performance and Reliability
  • Security and Verification in Computing
  • Numerical Methods and Algorithms
  • Safety Systems Engineering in Autonomy
  • Modular Robots and Swarm Intelligence
  • DNA and Biological Computing
  • Simulation Techniques and Applications
  • Radiation Effects in Electronics
  • Advanced Control Systems Optimization
  • Real-time simulation and control systems
  • Distributed systems and fault tolerance
  • Logic, Reasoning, and Knowledge
  • VLSI and Analog Circuit Testing
  • Manufacturing Process and Optimization
  • Advanced Malware Detection Techniques
  • Anomaly Detection Techniques and Applications
  • Model-Driven Software Engineering Techniques

University of Sussex
2015-2024

University of Oxford
2013-2018

University of Manchester
2018

University of Southampton
2017

Centre Inria de l'Université Grenoble Alpes
2010-2013

Institut national de recherche en informatique et en automatique
2010-2013

Science Oxford
2013

We present abstract acceleration techniques for computing loop invariants numerical programs with linear assignments and conditionals. Whereas interpretation typically over-approximate the set of reachable states iteratively, captures effect a single, non-iterative transfer function applied to initial at head. In contrast previous techniques, our approach applies any without restrictions. Its novelty lies in use Jordan normal form decomposition body derive symbolic expressions entries matrix...

10.1145/2535838.2535843 preprint EN 2014-01-08

10.1016/j.scico.2013.09.016 article EN publisher-specific-oa Science of Computer Programming 2013-10-10

Proving program termination is key to guaranteeing absence of undesirable behaviour, such as hanging programs and even security vulnerabilities denial-of-service attacks. To make checks scale large systems, interprocedural analysis seems essential, which a largely unexplored area research in analysis, where most effort has focussed on difficult single-procedure problems. We present modular for C using template-based summarisation. Our combines context-sensitive, over-approximating forward...

10.1109/ase.2015.10 article EN 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2015-11-01

We present a static deadlock analysis approach for C/pthreads. The design of our method has been guided by the requirement to analyse real-world code. Our is sound (i.e., misses no deadlocks) programs that have defined behaviour according C standard and pthreads specification, precise enough prove deadlock-freedom large number such programs. consists pipeline several analyses build on new context- thread-sensitive abstract interpretation framework. further lightweight dependency identify...

10.1145/2970276.2970309 article EN 2016-08-25

Abstract Program analysis is on the brink of mainstream usage in embedded systems development. Formal verification behavioural requirements, finding runtime errors and test case generation are some most common applications automated tools based bounded model checking (BMC). Existing industrial for software use an off-the-shelf checker apply it iteratively to verify program with increasing number unwindings. This approach unnecessarily wastes time repeating work that has already been done...

10.1007/s00165-017-0419-1 article EN cc-by Formal Aspects of Computing 2017-02-22

Concurrency poses a major challenge for program verification, but it can also offer an opportunity to scale when subproblems be analysed in parallel. We exploit this here and use parametrizable code-to-code translation generate set of simpler instances, each capturing reduced the original program's interleavings. These instances then checked independently Our approach does not depend on tool that is chosen final analysis, compatible with weak memory models, amplifies effectiveness existing...

10.1109/ase.2017.8115686 article EN 2017-10-01

As product life-cycles become shorter and the scale complexity of systems increase, accelerating execution large test suites gains importance. Existing research has primarily focussed on techniques that reduce size suite. By contrast, we propose a technique accelerates execution, allowing to run in fraction original time, by parallel with Graphics Processing Unit (GPU).

10.1145/2642937.2642957 article EN 2014-09-15

Hybrid systems are used to model embedded computing interacting with their physical environment. There is a conceptual mismatch between high-level hybrid system languages like Simulink, which for simulation, and automata, the most suitable representation safety verification. Indeed, in simulation interaction discrete continuous execution steps specified using concept of zero-crossings, whereas automata exploit notion staying conditions. We describe translation from data-flow language...

10.1145/2185632.2185658 preprint EN 2012-04-17

Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested subject priorities. Interrupts arrive at arbitrary times, leading an explosion in the number of cases considered. We present a new formal approach verifying interrupt-driven based on symbolic execution. The leverages recent advances encoding execution traces interacting, concurrent threads. assess performance our method benchmarks drawn from embedded systems code device drivers, experimentally...

10.7873/date.2015.0360 article EN Design, Automation & Test in Europe Conference & Exhibition (DATE), 2015 2015-01-01

10.1016/j.jsc.2011.12.051 article EN publisher-specific-oa Journal of Symbolic Computation 2011-12-24

Non-termination is the root cause of a variety program bugs, such as hanging programs and denial-of-service vulnerabilities. This makes an automated analysis that can prove absence bugs highly desirable. To scale termination checks to large systems, interprocedural seems essential. largely unexplored area research in analysis, where most effort has focussed on small but difficult single-procedure problems. We present modular for C using template-based summarisation. Our combines...

10.1145/3121136 article EN ACM Transactions on Programming Languages and Systems 2017-12-10

We present abstract acceleration techniques for computing loop invariants numerical programs with linear assignments and conditionals. Whereas interpretation typically over-approximate the set of reachable states iteratively, captures effect a single, non-iterative transfer function applied to initial at head. In contrast previous techniques, our approach applies any without restrictions. Its novelty lies in use Jordan normal form decomposition body derive symbolic expressions entries matrix...

10.1145/2578855.2535843 article EN ACM SIGPLAN Notices 2014-01-08

Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested subject priorities. Interrupts arrive at arbitrary times, leading an explosion in the number of cases considered. We present a new formal approach verifying interrupt-driven based on symbolic execution. The leverages recent advances encoding execution traces interacting, concurrent threads. assess performance our method benchmarks drawn from embedded systems code device drivers, experimentally...

10.5555/2755753.2755803 article EN Design, Automation, and Test in Europe 2015-03-09

Interrupt-driven software is difficult to test and debug, especially when interrupts can be nested subject priorities. Interrupts arrive at arbitrary times, leading an exponential blow-up in the number of cases consider. We present a new formal approach verifying interrupt-driven based on symbolic execution. The leverages recent advances encoding execution traces interacting, concurrent threads. assess performance our method benchmarks drawn from embedded systems code device drivers,...

10.1145/3147432 article EN ACM Transactions on Embedded Computing Systems 2017-12-07
Coming Soon ...