HEAL DSpace

Επαλήθευση ιδιοτήτων αλγορίθμων σε Liquid Haskell

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.author Πέτρου, Γεώργιος el
dc.contributor.author Petrou, Georgios en
dc.date.accessioned 2018-07-23T07:47:25Z
dc.date.available 2018-07-23T07:47:25Z
dc.date.issued 2018-07-23
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/47371
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.15567
dc.rights Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ *
dc.subject Αλγόριθμοι el
dc.subject Απόδειξη θεωρημάτων el
dc.subject Επαλήθευση προγραμμάτων el
dc.subject Επαλήθευση ιδιοτήτων αλγορίθμων el
dc.subject Liquid Haskell en
dc.subject Algorithm verification en
dc.subject Refinement types en
dc.subject SMT solver en
dc.subject Theorem proving en
dc.title Επαλήθευση ιδιοτήτων αλγορίθμων σε Liquid Haskell el
dc.title Verified algorithms in Liquid Haskell en
heal.type bachelorThesis
heal.classification Επαλήθευση και επικύρωση λογισμικού el
heal.classification Computer programs--Verification en
heal.classificationURI http://data.seab.gr/concepts/9a367b8b0e32593a3e78405d89e72fd92257cc32
heal.classificationURI http://id.loc.gov/authorities/subjects/sh85029528
heal.language el
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2018-07-16
heal.abstract Στη Διπλωματική εργασία αυτή γίνεται μελέτη των τεχνικών που παρέχονται από τη Liquid Haskell για την απόδειξη θεωρημάτων και η χρησιμοποίησή τους για την επαλήθευση ιδιοτήτων διαφόρων αλγορίθμων.Η Liquid Haskell αποτελεί ένα σύστημα που μας δίνει τη δυνατότητα να εκφράζουμε ιδιότητες για προγράμματα γραμμένα σε Haskell με τη χρήση refinement types οι οποίες επαληθέυονται αυτόματα με τη χρήση SMT solver. Επιπλέον η Liquid Haskell με την εισαγωγή του reflection μας επιτρέπει την διατύπωση και απόδειξη θεωρημάτων εκφρασμένων ως συναρτήσεις σε Haskell, προσφέρωντας ειδικές βιβλιοθήκες που παρέχουν ένα πλήρες περιβάλλον για την ανάπτυξη αρκτεκά εξελιγμένων αποδείξεων χρησιμοποιώντας βασικά refinements και ορισμούς συναρτήσεων. Στο πλαίσιο της εργασίας , αρχικά γίνεται μια ανασκόπηση σχετικά με τις ένοιες που θα συναντήσουμε στη Liquid Haskell, όπως refinement types, την έννοια του reflection, μεθόδους αποδείξεων, ανάλυση της βιβλιοθήκης που μας δίνει τη δυνατότητα για συγγραφή αποδείξεων κλπ.. και στη συνέχεια προχωράμε στην ανάλυση ιδιοτήτων ορισμένων διαδέδομένων αλγορίθμων και δομών δεδομένων που αποτελεί και το βασικό μέρος της διπλωματικής. Οι αλγόριθμοι που αναλύουμε προέχρονται από το 3ο τόμο του βιβλίου Software Foundations που περιέχει διατυπώσεις θεωρημάτων και ιδιοτήτων σε γλώσσα Coq. Στη παρούσα διπλωματική θα αναδιατυπώσουμε τα θεωρήματα και ιδιότητες σε γλώσσα Haskell και θα τα επαληθευσουμε γράφωντας αποδείξεις σε Liquid Haskell παρουσιάζοντας έτσι το τρόπο με τον οποίο μπορούμε να διατυπώνουμε θεωρήματα και αναδεικνύωντας τη Liquid Haskell ως ένα πλήρες εργαλείο για απόδειξη θεωρημάτων. el
heal.abstract The purpose of this diploma thesis is to study the techniques provided by Liquid Haskell for theoretical proofs and to use them to verify the properties of various algorithms. Liquid Haskell is a system that enables us to express properties for Haskell-written programs by using refinement types that are automatically verified using SMT solver. In addition Liquid Haskell with the introduction of reflection allows us to formulate and demonstrate theorems expressed as functions in Haskell, by offering special libraries that provide a complete environment for the development of sophisticated proofs using basic refinements and function definitions. In the context of the diploma thesis, we initially review the concepts we will encounter in Liquid Haskell, such as refinement types, the concept of reflection, methods of evidence, analysis of the library that enables us to write proofs, etc., and then proceed in the analysis of properties of certain well known algorithms and data structures, which is also the main part of this diploma thesis. The algorithms we analyze are from the 3rd volume of the Software Foundations book that contains theorems and properties expressed in Coq. In this diploma thesis we will reformulate the theorems and properties in Haskell and we will verify them by writing proofs with Liquid Haskell, presenting how we can formulate theorems and highlight Liquid Haskell as a complete tool for theorem proving. en
heal.advisorName Παπασπύρου, Νικόλαος el
heal.committeeMemberName Παγουρτζής, Αριστείδης el
heal.committeeMemberName Βάζου, Νίκη el
heal.committeeMemberName Παπασπύρου, Νικόλαος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 122 σ.
heal.fullTextAvailability true


Αρχεία σε αυτό το τεκμήριο

Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο:

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής

Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα Εκτός από όπου ορίζεται κάτι διαφορετικό, αυτή η άδεια περιγράφεται ως Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα