In English

Testing Approach for Haskell SQLite Bindings

Jimmy Svensson ; Victor Evertsson
Göteborg : Chalmers tekniska högskola, 2018. 66 s.
[Examensarbete på avancerad nivå]

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.

Nyckelord: Binding, Database, Haskell, Properties, Test and QuickCheck



Publikationen registrerades 2018-06-27. Den ändrades senast 2018-06-27

CPL ID: 255295

Detta är en tjänst från Chalmers bibliotek