2017
DOI: 10.1145/3110246
|View full text |Cite
|
Sign up to set email alerts
|

Testing and debugging functional reactive programming

Abstract: Many types of interactive applications, including video 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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
13
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
5
4

Relationship

3
6

Authors

Journals

citations
Cited by 21 publications
(14 citation statements)
references
References 27 publications
0
13
0
Order By: Relevance
“…Recently, Ramson and Hirschfeld [2017] proposed active expressions as a primitive for change detection, upon which different kinds of RP can be built. Other recent research directions in RP include debugging [Banken et al 2018;Perez and Nilsson 2017;Salvaneschi and Mezini 2016], thread-safe concurrency [Drechsler et al 2018], and application to new domains such as IoT and edge computing [Calus et al 2017] and autonomous vehicles [Finkbeiner 129:27 et al 2017]. In the distributed setting, the DREAM reactive middleware Salvaneschi 2014, 2018] allows selecting different levels of consistency guarantees for distributed RP.…”
Section: Performancementioning
confidence: 99%
“…Recently, Ramson and Hirschfeld [2017] proposed active expressions as a primitive for change detection, upon which different kinds of RP can be built. Other recent research directions in RP include debugging [Banken et al 2018;Perez and Nilsson 2017;Salvaneschi and Mezini 2016], thread-safe concurrency [Drechsler et al 2018], and application to new domains such as IoT and edge computing [Calus et al 2017] and autonomous vehicles [Finkbeiner 129:27 et al 2017]. In the distributed setting, the DREAM reactive middleware Salvaneschi 2014, 2018] allows selecting different levels of consistency guarantees for distributed RP.…”
Section: Performancementioning
confidence: 99%
“…To show how arrowized programming works, we implement a simple signal function, which calculates the acceleration of a falling mass on its vertical axis as an example [38].…”
Section: Arrowized Programmingmentioning
confidence: 99%
“…We have shown both how to run the system in ideal conditions, and how to use the type-checker to verify that faults are specified. An possible addition would be to extend MSFs with a way of injecting faults [Perez and Nilsson 2017]. This could be additionally improved by the use of a tool like QuickCheck [Claessen and Hughes 2000], that tries to check a property against a series of randomly generated inputs.…”
Section: Future Workmentioning
confidence: 99%
“…For further details on FRP and Arrowized FRP (AFRP), see earlier papers [Courtney et al 2003;Elliott and Hudak 1997;Nilsson et al 2002]. This presentation draws heavily from the summaries in [Courtney et al 2003;Perez and Nilsson 2017]. For details on fault tolerance, see [Avižienis 1967[Avižienis , 1976 and, for an in-depth introduction, see [Butler 2008].…”
Section: Introductionmentioning
confidence: 99%