Ivan Perez
Testing and debugging functional reactive programming
Perez, Ivan; Nilsson, Henrik
Authors
Henrik Nilsson
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 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. The approach has been validated on real, non-trivial games implemented in the FRP system Yampa through a tool providing a convenient Graphical User Interface that allows the execution of the code under scrutiny to be controlled, moving along the execution time line, and pin-pointing of violations of assertions on PCs as well as mobile platforms.
Citation
Perez, I., & Nilsson, H. (2017). Testing and debugging functional reactive programming. Proceedings of the ACM on Programming Languages, 1(1), Article 2. https://doi.org/10.1145/3110246
Journal Article Type | Article |
---|---|
Acceptance Date | May 2, 2017 |
Publication Date | Sep 1, 2017 |
Deposit Date | Jul 6, 2017 |
Publicly Available Date | Sep 1, 2017 |
Journal | Proceedings of the ACM on Programming Languages |
Electronic ISSN | 2475-1421 |
Publisher | Association for Computing Machinery (ACM) |
Peer Reviewed | Peer Reviewed |
Volume | 1 |
Issue | 1 |
Article Number | 2 |
DOI | https://doi.org/10.1145/3110246 |
Keywords | Functional Reactive Programming, Game programming, Testing, Debugging, Temporal logic |
Public URL | https://nottingham-repository.worktribe.com/output/880298 |
Publisher URL | https://doi.org/10.1145/3110246 |
Related Public URLs | http://www.cs.nott.ac.uk/~psznhn http://www.cs.nott.ac.uk/~psxip1/ http://pacmpl.acm.org/ |
Contract Date | Jul 6, 2017 |
Files
icfp2017.pdf
(1.8 Mb)
PDF
Copyright Statement
Copyright information regarding this work can be found at the following address: http://creativecommons.org/licenses/by/4.0
Downloadable Citations
About Repository@Nottingham
Administrator e-mail: discovery-access-systems@nottingham.ac.uk
This application uses the following open-source libraries:
SheetJS Community Edition
Apache License Version 2.0 (http://www.apache.org/licenses/)
PDF.js
Apache License Version 2.0 (http://www.apache.org/licenses/)
Font Awesome
SIL OFL 1.1 (http://scripts.sil.org/OFL)
MIT License (http://opensource.org/licenses/mit-license.html)
CC BY 3.0 ( http://creativecommons.org/licenses/by/3.0/)
Powered by Worktribe © 2025
Advanced Search