John Hughes has been a functional programming enthusiast for more than thirty years, at the Universities of Oxford, Glasgow, and since 1992 Chalmers University in Gothenburg, Sweden. He served on the Haskell design committee, co-chairing the committee for Haskell 98, and is the author of more than 100 papers, including "Why Functional Programming Matters", one of the classics of the area. With Koen Claessen, he created QuickCheck, the most popular testing tool among Haskell programmers, and in 2006 he founded Quviq to commercialise the technology using Erlang.
File synchronization services like Dropbox, Google Drive and OneDrive are increasingly popular—hundreds of millions of people entrust their precious data to them every day. But they are complex distributed systems, and their behaviour is subtler than you might think, especially when files are changed on more than one machine. What can we rely on when we use these applications—and how can they be tested effectively? I’ll describe how we used QuickCheck to characterize their behaviour and generate tests, using Dropbox as the main example. And there may be a few surprises…Slides