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 |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: