Please log in to watch this conference skillscast.
In pure functional programming, testing is greatly facilitated thanks to referential transparency guaranteeing exact reproducibility. Principled techniques such as property based testing have proved to be particularly effective. However, once you get to whole programs or entire systems, nothing is purely functional. Principled techniques can still be used in effectful contexts, but there are significant complications and limitations.
In this talk, you will see that, by using functional reactive programming to implement and structure programs and systems, the simplicity of testing pure functional code using principled techniques can be regained, opening up for powerful cross-platform testing frameworks unparallelled by their imperative counterparts. This approach enables property-based testing based on temporal logic, fully reproducible record-andreplay (even from deployed code), and hardware-in-the-loop testing. The talk will cover the necessary basics of functional reactive programming and illustrate using non-trivial case studies.
This talk is based on joint work by Dr Ivan Perez, Research Scientist at the NIA/NASA Formal Methods group and Founder of Keera Studios, and Dr Henrik Nilsson, School of Computer Science, University of Nottingham.
YOU MAY ALSO LIKE:
- Supermonads: One Notion to Bind Them All (SkillsCast recorded in October 2018)
- The Secrets of the GHC Garbage Collector (in Online Event on 11th June 2020)
- Lightning Talk: Making and Testing Code Generators in Haskell (SkillsCast recorded in October 2019)
- Functional Lenses Through a Practical Lens (SkillsCast recorded in October 2019)
Principled Testing of Functional Reactive Systems
Dr. Henrik Nilsson is a Lecturer at the School of Computer Science, University of Nottingham. He holds a PhD in Computer Science from Linköping University, Sweden. His topic was debugging techniques and tools for lazy functional languages. Prior to taking up his current post, Dr. Nilsson held a position as Associate Research Scientist at the Department of Computer Science, Yale University, working mainly on Functional Reactive Programming with Prof. Paul Hudak. Dr. Nilsson's current research interests include functional programming, reactive programming, domain-specific languages for modelling and simulation, and unified notions of effectful computation.