Testing Approach for Haskell SQLite Bindings

Examensarbete för masterexamen

Please use this identifier to cite or link to this item: https://hdl.handle.net/20.500.12380/255295
Download file(s):
File Description SizeFormat 
255295.pdfFulltext1.09 MBAdobe PDFView/Open
Type: Examensarbete för masterexamen
Master Thesis
Title: Testing Approach for Haskell SQLite Bindings
Authors: Svensson, Jimmy
Evertsson, Victor
Abstract: To make an SQLite database as accessible as possible, it is important that it can be used from several programming languages such as Haskell. Haskell is a purely functional programming language that supports higher-order functions and has a rich type system. In order to use an existing database in Haskell, a binding could be created between the database and the programming language. The binding needs to handle many different type conversions in order to convert the types between Haskell and the database properly. This thesis presents one testing approach on how to find potential bugs in SQLite bindings to the programming language Haskell. The approach uses a predefined sequence of database queries that is constructed in such a way that the correct answer easily can be decided. The approach makes use of two custom made test cases that are created in Haskell. The properties are used together with the testing tool QuickCheck to perform automatic random tests. After the tests are performed, the found bugs are presented. The method we have developed gives an easy way to find bugs in bindings between Haskell programs and SQLite databases.
Keywords: Data- och informationsvetenskap;Computer and Information Science
Issue Date: 2018
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/255295
Collection:Examensarbeten för masterexamen // Master Theses



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