Testing Erlang Concurrency with QuickCheck

Examensarbete för masterexamen

Please use this identifier to cite or link to this item: https://hdl.handle.net/20.500.12380/146291
Download file(s):
File Description SizeFormat 
146291.pdfFulltext907.24 kBAdobe PDFView/Open
Type: Examensarbete för masterexamen
Master Thesis
Title: Testing Erlang Concurrency with QuickCheck
Authors: Cao, Zichen
Abstract: Erlang is a functional language developed by Ericsson AB, in which concurrency belongs to the programming language rather than the operating system. It can make parallel programing much easier by modeling the program as several processes running in parallel which interact with each other only via exchanging messages. There is no shared memory in Erlang, due to its advantages on message passing, Erlang have been widely used in development of telecom and internet products. As the importance of usage of` Erlang increases, to ensure the progams operate as they should becames the most significant and challenging task. QuickCheck is a specification-based testing tool produced by the company Quivq AB. The commercial version of QuickCheck can support generating random test cases for Erlang programs. It offers the ability for test programmer to test Erlang functions by specifying their expected operations and results. It is a tool that can liberate the test programmers from heavy work of writing test cases by hand, and reduce the time that the test programmers spend on simplifying the failing test cases after the execution of the test cases. In the first part of this thesis, we develop specification of main functions in ETS, DETS, by analyzing their operation and results. Then, we test these functions by using QuickCheck state machine. In the second part, with analyzing the shortage of QuickCheck state machine, we modify the property, and test DETS by using PULSE. Meanwhile, main functions in Supervisor are specified and tested as well. Bugs and interesting findings from this project are described in relevant parts as well.
Keywords: Programvaruteknik;Software Engineering
Issue Date: 2011
Publisher: Chalmers tekniska högskola / Institutionen för data- och informationsteknik (Chalmers)
Chalmers University of Technology / Department of Computer Science and Engineering (Chalmers)
URI: https://hdl.handle.net/20.500.12380/146291
Collection:Examensarbeten för masterexamen // Master Theses

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.