ProTest News:

24 February 2011: Erlang Factory London 2011 - Talk Submission Open

18 January 2011: Erlang Solutions launches a course in Test Driven Development with Erlang

13 January 2011: Programme Announced for the Erlang Factory SF Bay Area 2011


More News

ProTest Events:

None.


More Events

Subscribe to our newsletter mailing list!

Sign up to receive the latest news and events about the ProTest project.


Google


Members login

Click here


Project Goals

The project will deliver methods and tools to support property-based development of systems.

Property-driven development is a powerful new mechanism for gaining assurance of system reliability and functionality. However, in order to deliver its full benefits we need tools to integrate property-based testing into the development life cycle.

Property discovery Since current testing is based on sets of test cases embedded in test suites and current specifications and models are often informal. This project will:

  • provide tools to aid the software developers to extract properties from this test data.
  • develop specialised property languages to ease the formalisation of existing specifications.

Test and property evolution As software systems change and evolve:

  • tools to support the evolution of tests and properties will need to be devolve in line with the system change.

Property monitoring Not all properties can be tested in advance of systems being executed, and not all faults will be found however thorough the testing. The project will:

  • provide tools to support the post hoc examination of trace details for conformance to (or indeed violation of) particular constraints.

Analysing concurrent systems At the heart of service oriented systems is concurrency: servers will provide services to multiple clients in a seamlessly concurrent way; services will unite to provide complex functionality through concurrently performing parts of a task. We will provide:

  • tools by which concurrent systems can be analysed for fundamental properties.

Erlang/OTP

Erlang/OTP - developed by Ericsson during the early nineties as a platform for rapid development of network applications. Erlang is a concurrent functional language with specific support for the development of distributed, fault-tolerant systems with soft real-time requirements.

Language and implementation design have aimed from the start to support a concurrency-oriented programming paradigm and the massively concurrent systems that it leads to. Applications of Erlang include computer telephony, banking, TCP/IP programming (HTTP, SSL, Email, Instant messaging, etc) and 3D-modelling.

There is a wide user base which over the years has grown beyond the telecoms sector. Erlang is particularly well placed to exploit multi-core processor chips: the concurrency model of Erlang allows separate processes to run on the different cores with no change to the source code. When run on multiple cores, code can show speedups close to the theoretical maximum.

Open Source development is resulting in applications being developed and released worldwide. The robustness and flexibility of the platform turned out to fit ideally to network services and many SMEs have emerged over the past decade offering dynamic internet services to end-users with close to 5-nines reliability.