CPL - Chalmers Publication Library
| Utbildning | Forskning | Styrkeområden | Om Chalmers | In English In English Ej inloggad.

Finding Race Conditions in Erlang with Quick Check and PULSE

Koen Claessen (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; Michal H. Palka (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; Nicholas Smallbone (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; John Hughes (Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers)) ; Hans Svensson (Institutionen för data- och informationsteknik (Chalmers)) ; Thomas Arts (Institutionen för data- och informationsteknik (Chalmers)) ; U. Wiger
ICFP'09: Proceedings of the ACM SIGPLAN International Conference on Functional Programming p. 149-160.
[Konferensbidrag, refereegranskat]

We address the problem of testing and debugging concurrent, distributed Erlang applications. In concurrent programs, race conditions are a common class of bugs and are very hard to find in practice. Traditional unit testing is normally unable to help finding all race conditions, because their occurrence depends so much on timing. Therefore, race conditions are often found during system testing, where due to the vast amount of code under test, it is often hard to diagnose the error resulting from race conditions. We present three tools (Quick Check, PULSE, and a visualizer) that in combination can be used to test and debug concurrent programs in unit testing with a much better possibility of detecting race conditions. We evaluate our method on an industrial concurrent case study and illustrate how we find and analyze the race conditions.

Nyckelord: Quick Check, Race Conditions, Erlang



Denna post skapades 2010-08-26. Senast ändrad 2013-09-28.
CPL Pubid: 125252

 

Läs direkt!

Lokal fulltext (fritt tillgänglig)

Länk till annan sajt (kan kräva inloggning)


Institutioner (Chalmers)

Institutionen för data- och informationsteknik, Programvaruteknik (Chalmers) (2008-2010)
Institutionen för data- och informationsteknik (Chalmers)

Ämnesområden

Information Technology

Relaterade publikationer

Denna publikation ingår i:


Property-based testing for functional programs


Lightweight verification of functional programs