[erlang-questions] Presentation: How do you test large systems written in Erlang? London 28/1 @ 19.00
Fri Jan 18 10:58:23 CET 2008
Hi Erlang Mailing Listers,
please note that this is the last public talk we will be posting to the
erlang-questions list list. If interested in receiving notifications of
future talks, please subscribe to the London Erlang User Group by
sending a blank email to erlang-london-subscribe@REDACTED or
Feel free to pass this on to anyone you believe might be interested.
The second meet up of the Erlang User Group will be on Monday 28/1 @
19.00 in Erlang Training and Consulting's offices in London. The meet up
will feature a presentation from Thomas Arts, of Quviq AB and the IT
University of Gothenburg. He will talk about testing large Erlang based
systems, including formal methods and property based testing.
The presentation will be followed by Pizza and drinks. Those still
standing at 8pm can then make their way to a quiet pub down the road and
continue chatting and networking. This is a free event sponsored by
Erlang Training and Consulting and Skills Matter.
As we need to let security have your names and need in advance, ensure
we have a room big enough (There were 60 of us last meeting!), and most
important, know how much Pizza to order, you have to register by sending
an email to alison _at_ erlang-consulting.com The event is free and open
to every one, as long as you have registered.
Abstract: How do you test large systems written in Erlang?
With the growth of software complexity we need new technology to ensure
quality of the final product. Testing has so far been one of the most
used techniques to check the quality of the end product. Since the
amount of software configurations is huge for each product, testing all
these configurations is impractical. Mathematical techniques under the
name of formal methods, address this by tools as Model Checkers and
Theorem Provers. Several of these techniques have been developed for
Erlang as well as for many other languages.
In practice, they are difficult to use and expensive to deploy.
Property Based Testing joins the benefits of the formal verification
techniques with the ease of testing. Instead of writing test cases, one
copies the idea of formal methods to write a property of the software,
e.g., "no matter how many ATMs are connected to our bank and no matter
in which order the ATMs send their messages, money may not dissapear
from the system". Instead of a mathematical prove that this holds, a
large amount of test cases is automatically generated from this property
and all these tests are checked against the system.
Property Based Testing is used small scale today at companies like
Ericsson, Erlang Training and Consulting and a few others. The goal of
the ProTest project is to introduce more tools and techniques that
enable widened use of Property Based Testing. For example by combining
it with re-factoring of test cases and properties, by connecting it to
trace analysis and audit logs, and by integrating it with model checking
This will result in a very powerful method supported by a good set of
integrated tools that make Erlang programmers even more productive.
Bio: Thomas Arts
Dr Thomas Arts is Associate professor at the IT University of Göteborg
in the area of Software Engineering and Management. Thomas is also
co-founder and CTO of Quviq, a small company that produced Quick Check,
a testing tool for Erlang. He holds a PhD in computer science and has
after his PhD been employed at the Ericsson Computer Science Lab (Where
they invented Erlang) where he worked on program verification and the
development of the Erlang programming language.
He has worked in the broad spectrum theoretical computer science, formal
methods and industrial case-study research, mainly applying all kind of
techniques to systems written in Erlang. He has more than 30
publications in journals and refereed conferences/workshops. He has
successfully introduced some new technologies in industry. The latest
technology, QuickCheck, is a tool for property based testing and aims to
support test driven development.
More information about the erlang-questions