VERIFICATION OF MIGHT’S DELETION ALGORITHM OF RED-BLACK TREE USING LIQUID HASKELL

The increasing demand for software creates a pressing demand for an infallible program. One of the tools developed for this purpose is Liquid Haskell for Haskell programming language. The characteristic of Liquid Haskell that is automatic and can be used without modifying the source code ease the...

Full description

Saved in:
Bibliographic Details
Main Author: Afkar Makmur, Hafizh
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/57231
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
id id-itb.:57231
spelling id-itb.:572312021-07-30T14:31:11ZVERIFICATION OF MIGHT’S DELETION ALGORITHM OF RED-BLACK TREE USING LIQUID HASKELL Afkar Makmur, Hafizh Indonesia Final Project Red-Black Tree, Liquid Haskell, Formal Method INSTITUT TEKNOLOGI BANDUNG https://digilib.itb.ac.id/gdl/view/57231 The increasing demand for software creates a pressing demand for an infallible program. One of the tools developed for this purpose is Liquid Haskell for Haskell programming language. The characteristic of Liquid Haskell that is automatic and can be used without modifying the source code ease the verification process so much compared to previous verification programs. But then there’s a question of whether Liquid Haskell can really verify all programs that are written in Haskell Language. One of the most popular case examples to study formal method is the verification case of Red-Black Tree data structure. In 2010, Matthew Might created a deletion algorithm for Red-Black Tree data structure with a purpose to create a deletion algorithm that is more elegant than algorithms that have been written before. This data structure is simple have a very clear and easy to write specification so this program can be an ideal target to prove whether Liquid Haskell can verify a code that’s written by other people in the real world. The result of verification and analysis of the code shows that most of the code can be verified by Liquid Haskell but there are 3 parts of the program that fails the verification. Those parts are line code that’s related to QuickCheck testing, Binary Search Tree property, and the last line in balance function. Because of that, there are several code modifications that are applied as an example of a valid code that can be verified successfully by Liquid Haskell. text
institution Institut Teknologi Bandung
building Institut Teknologi Bandung Library
continent Asia
country Indonesia
Indonesia
content_provider Institut Teknologi Bandung
collection Digital ITB
language Indonesia
description The increasing demand for software creates a pressing demand for an infallible program. One of the tools developed for this purpose is Liquid Haskell for Haskell programming language. The characteristic of Liquid Haskell that is automatic and can be used without modifying the source code ease the verification process so much compared to previous verification programs. But then there’s a question of whether Liquid Haskell can really verify all programs that are written in Haskell Language. One of the most popular case examples to study formal method is the verification case of Red-Black Tree data structure. In 2010, Matthew Might created a deletion algorithm for Red-Black Tree data structure with a purpose to create a deletion algorithm that is more elegant than algorithms that have been written before. This data structure is simple have a very clear and easy to write specification so this program can be an ideal target to prove whether Liquid Haskell can verify a code that’s written by other people in the real world. The result of verification and analysis of the code shows that most of the code can be verified by Liquid Haskell but there are 3 parts of the program that fails the verification. Those parts are line code that’s related to QuickCheck testing, Binary Search Tree property, and the last line in balance function. Because of that, there are several code modifications that are applied as an example of a valid code that can be verified successfully by Liquid Haskell.
format Final Project
author Afkar Makmur, Hafizh
spellingShingle Afkar Makmur, Hafizh
VERIFICATION OF MIGHT’S DELETION ALGORITHM OF RED-BLACK TREE USING LIQUID HASKELL
author_facet Afkar Makmur, Hafizh
author_sort Afkar Makmur, Hafizh
title VERIFICATION OF MIGHT’S DELETION ALGORITHM OF RED-BLACK TREE USING LIQUID HASKELL
title_short VERIFICATION OF MIGHT’S DELETION ALGORITHM OF RED-BLACK TREE USING LIQUID HASKELL
title_full VERIFICATION OF MIGHT’S DELETION ALGORITHM OF RED-BLACK TREE USING LIQUID HASKELL
title_fullStr VERIFICATION OF MIGHT’S DELETION ALGORITHM OF RED-BLACK TREE USING LIQUID HASKELL
title_full_unstemmed VERIFICATION OF MIGHT’S DELETION ALGORITHM OF RED-BLACK TREE USING LIQUID HASKELL
title_sort verification of might’s deletion algorithm of red-black tree using liquid haskell
url https://digilib.itb.ac.id/gdl/view/57231
_version_ 1822930406145523712