Skip to main content

Research Repository

Advanced Search

Runtime verification and validation of functional reactive systems

Perez, Ivan; Nilsson, Henrik


Ivan Perez

Henrik Nilsson


Many types of interactive applications, including reactive systems implemented in hardware, interactive physics simulations and games, raise particular challenges when it comes to testing and debugging. Reasons include de facto lack of reproducibility and difficulties of automatically generating suitable test data. This paper demonstrates that certain variants of functional reactive programming (FRP) implemented in pure functional languages can mitigate such difficulties by offering referential transparency at the level of whole programs. This opens up for a multi-pronged approach for assisting with testing and debugging that works across platforms, including assertions based on temporal logic, recording and replaying of runs (also from deployed code), and automated random testing using QuickCheck. When combined with extensible forms of FRP that allow for constrained side effects, it allows us to not only validate software simulations but to analyse the effect of faults in reactive systems, confirm the efficacy of fault tolerance mechanisms and perform software- and hardware-in-the-loop testing. The approach has been validated on non-trivial systems implemented in several existing FRP implementations, by means of careful debugging using a tool that allows the test or simulation under scrutiny to be controlled, moving along the execution timeline, and pin-pointing of violations of assertions on personal computers as well as external devices.


Perez, I., & Nilsson, H. (2020). Runtime verification and validation of functional reactive systems. Journal of Functional Programming, 30, Article e28.

Journal Article Type Article
Acceptance Date Jun 23, 2020
Online Publication Date Aug 26, 2020
Publication Date 2020
Deposit Date Sep 4, 2020
Publicly Available Date Feb 27, 2021
Journal Journal of Functional Programming
Print ISSN 0956-7968
Electronic ISSN 1469-7653
Publisher Cambridge University Press
Peer Reviewed Peer Reviewed
Volume 30
Article Number e28
Keywords Software
Public URL
Publisher URL


You might also like

Downloadable Citations