Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18427
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΜαστόρου, Λυκούργος-
dc.date.accessioned2022-08-24T11:34:05Z-
dc.date.available2022-08-24T11:34:05Z-
dc.date.issued2022-07-28-
dc.identifier.urihttp://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18427-
dc.description.abstractΗ ορθότητα είναι μια επιθυμητή αλλά όχι τετριμμένη ιδιότητα του λογισμικού. Ένας πολύ αξιόπιστος τρόπος για να διασφαλιστεί η ορθότητα είναι η επαλήθευση λογισμικού. H Liquid Haskell είναι ένας επαγωγικός επαληθευτής που βασίζεται σε έναν επιλύτη SMT και επεκτείνει το σύστημα τύπων της Haskell χρησιμοποιώντας λογικά κατηγορήματα. Χρησιμοποιώντας τη Liquid Haskell, είναι δυνατό να αποδειχθούν πολλές επιθυμητές ιδιότητες για κώδικα γραμμένο σε Haskell. Η Haskell, λόγω της οκνηρής αποτίμησης, μας επιτρέπει να ορίσουμε αντικείμενα που έχουν πιθανώς άπειρα στοιχεία, όπως άπειρες λίστες. Ωστόσο, η Liquid Haskell δεν είναι σε θέση να επαληθεύσει τέτοιους ορισμούς λόγω έλλειψη τερματισμού τους. Επίσης, για παρόμοιους λόγους, δεν μπορεί να επιχειρηματολογήσει για ιδιότητες τέτοιων ορισμών. Αυτή η εργασία έχει στόχο να αντιμετωπίσει αυτό το χάσμα μεταξύ των δυνατοτήτων της Haskell και της εκφραστικότητας της Liquid Haskell. Παρουσιάζουμε μια τεχνική που μας βοηθά να επαληθεύσουμε την παραγωγικότητα των συναναδρομικών ορισμών, ακολουθώντας παρόμοια δουλειά σε άλλες γλώσσες. Παρουσιάζουμε επίσης δύο εναλλακτικές προσεγγίσεις, δηλαδή τις συνεπαγωγικές αποδείξεις με τη χρήση δεικτών και τις εποικοδομητικές συνεπαγωγικές αποδείξεις, οι οποίες κωδικοποιούν με συνέπεια συνεπαγωγικές αποδείξεις στη Liquid Haskell. Χρησιμοποιούμε αυτές τις κωδικοποιήσεις για να ελέγξουμε αυτόματα διάφορους ορισμούς και αποδείξεις, επιδεικνύοντας πώς μπορεί να χρησιμοποιηθεί ένας επαγωγικός επαληθευτής για να ελέγχθούν οι συνεπαγωγικές ιδιότητες και η παραγωγικότητα κώδικα Haskell.en_US
dc.languageelen_US
dc.subjectΓλώσσες προγραμματισμούen_US
dc.subjectΠρογραμματισμός με αποδείξειςen_US
dc.subjectΠιστοποιημένος κώδικαςen_US
dc.subjectΣυνεπαγωγικές αποδείξειςen_US
dc.subjectΑυτοματοποιημένες αποδείξειςen_US
dc.titleΜηχανική κατασκευή συνεπαγωγικών (coinductive) αποδείξεων στη Liquid Haskellen_US
dc.description.pages77en_US
dc.contributor.supervisorΠαπασπύρου Νικόλαοςen_US
dc.departmentΤομέας Τεχνολογίας Πληροφορικής και Υπολογιστώνen_US
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
thesis.pdf382.02 kBAdobe PDFView/Open


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