[ main page ] [ back ]

33/2012 : Runtime Verification of Microcontroller Binary Code

RR Number
33/2012
Conference
Journal Science of Computer Programming
Author(s)
Thomas Reinbacher, Jrg Brauer, Martin Horauer, Andreas Steininger, Stefan Kowalewski
Abstract
Runtime verification bridges the gap between formal verification and testing by providing techniques and tools that connect executions of a software to its specification without trying to prove the absence of errors. This article presents a framework for runtime verification of microcontroller binary code, which provides the above mentioned link in a non-intrusive fashion: The framework neither requires code instrumentation nor does it affect the execution of the analyzed program. This is achieved using a dedicated hardware unit that runs on a field programmable gate array in parallel to the analyzed microcontroller program. Different instances of this framework are discussed, with varying degrees of expressiveness of the supported specification languages and complexity in the hardware design. These instances range from invariant checkers for a restricted class of linear template constraints to a programmable processor that supports past-time linear temporal logic with timing constraints.
Bibtex
@article{Reinbacher2012,
title = "Runtime verification of microcontroller binary code",
journal = "Science of Computer Programming",
volume = "",
number = "0",
pages = " - ",
year = "2012",
note = "",
issn = "0167-6423",
doi = "10.1016/j.scico.2012.10.015",
url = "http://www.sciencedirect.com/science/article/pii/S0167642312002109",
author = "Thomas Reinbacher and Jörg Brauer and Martin Horauer and Andreas Steininger and Stefan Kowalewski",
keywords = "Runtime verification",
keywords = "Past time LTL",
keywords = "Embedded real-time systems"
}
Download

[ main page ] [ back ]