Παρακαλώ χρησιμοποιήστε αυτό το αναγνωριστικό για να παραπέμψετε ή να δημιουργήσετε σύνδεσμο προς αυτό το τεκμήριο: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18427
Πλήρες αρχείο μεταδεδομένων
Πεδίο DC ΤιμήΓλώσσα
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
Εμφανίζεται στις συλλογές:Διπλωματικές Εργασίες - Theses

Αρχεία σε αυτό το τεκμήριο:
Αρχείο Περιγραφή ΜέγεθοςΜορφότυπος 
thesis.pdf382.02 kBAdobe PDFΕμφάνιση/Άνοιγμα


Όλα τα τεκμήρια του δικτυακού τόπου προστατεύονται από πνευματικά δικαιώματα.