Write a Blog >>
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Mon 23 Oct 2017 14:30 - 15:00 at Oxford - Third session

Software that reacts to input in real time is deceptively challenging. Increasingly sophisticated reactive software is becoming increasingly common with the emergence of the internet-of-things. It is often easy enough to develop for the happy path, but once erroneous input or communication failures are taken into consideration its true state space becomes clear. The constraints of functional reactive programming help to focus the programmer’s mind on covering the edge cases. In exchange for adopting a programming style that is foreign to most developers we offer an automated program analysis that operates on the actual executable code – rather than a separate model that must be kept in sync with the code. It employs a kind of bounded model checking that we believe to be within the grasp of the average developer. Although it cannot guarantee the absence of errors, it effectively explores all possible input of a configurable length to provide more confidence than conventional unit testing.