Types and Property Tests for Software Resiliency by Tony Morris #AgileIndia2020
Channel: ConfEngine
Date: 2020-11-06

In this talk, we utilise the tools of Functional Programming to provide robust and resilient software components. We start off by defining Functional Programming and investigate how this itself can improve the quality of software. Once we have committed to programming in this style, we explore some of the tools that naturally arise. These tools will be explored using a variety of programming languages, since these techniques are available in many popular programming environments. Some examples will also introduce Haskell syntax.

Using static types to provide a reliable indication of the behaviour of software, including up to proof of correctness. We will use the technique of parametricity to demonstrate this reliability[^1].

Using property-based testing for high coverage testing with minimal programmer effort.

We will also have a look at the trade-offs that are made between types and tests and discuss a reasoning framework on making optimal decisions on when to use each.

[^1]: Wadler, Philip. ""Theorems for free!."" FPCA. Vol. 89. No. 4. 1989

More details: https://confengine.com/agile-india-2020/proposal/13930

Conference Link: https://2020.agileindia.org