Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/15431
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΒασίλειος Παπαβασιλείου
dc.date.accessioned2018-07-23T15:52:37Z-
dc.date.available2018-07-23T15:52:37Z-
dc.date.issued2009-7-21
dc.date.submitted2009-12-14
dc.identifier.urihttp://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/15431-
dc.description.abstractΣκοπός της διπλωματικής είναι ο ορισμός μιας γλώσσας προγραμματισμού που επιτρέπει την επαλήθευση προγραμμάτων και η υλοποίηση ενός εργαλείου επαλήθευσης. Το σύστημα επαλήθευσης βασίζεται στο εργαλείο υποστήριξης αποδείξεων (proof assistant) Coq.Τα προγράμματα που δέχεται ως είσοδο το σύστημά μας είναι γραμμένα σε μια απλή γλώσσα προστακτικού προγραμματισμού, την Tony. Λόγω του προστακτικού της ύφους η Tony είναι οικεία στους περισσότερους προγραμματιστές, παρέχει όμως και χαρακτηριστικά αναγκαία για την επαλήθευση προγραμμάτων. Οι προδιαγραφές που πρέπει να ικανοποιούν τα προγράμματα ορίζονται με τη μορφή προσυνθηκών (preconditions) και μετασυνθηκών (postconditions), τις οποίες ο προγραμματιστής συμπεριλαμβάνει στο πρόγραμμα ως επισημειώσεις (annotations). Στόχος ήταν να παρέχουμε μια εκφραστική γλώσσα για τη διατύπωση των συνθηκών αυτών. Επιλέξαμε ως εκ τούτου να γράφονται απ' ευθείας στη γλώσσα προδιαγραφών του Coq (Gallina). Ο κώδικας των προγραμμάτων περιλαμβάνει και άλλα στοιχεία που μπορούν να βοηθήσουν στη διαδικασία απόδειξης της ορθότητας, όπως θεωρήματα και ορισμούς που θα χρειαστούν και αναλλοίωτες βρόχου (loop invariants).Το εργαλείο επαλήθευσης διαβάζει ένα πρόγραμμα σε Tony και παράγει ένα θεώρημα του Coq, το οποίο αποτελεί διατύπωση της μερικής ορθότητας κατά Hoare. Στη συνέχεια εφαρμόζει αυτοματοποιημένες τακτικές για να κατασκευάσει μια απόδειξη του εν λόγω θεωρήματος. Σε περίπτωση που αποτύχει, ενημερώνει τον προγραμματιστή ποια θεωρήματα πρέπει να αποδείξει για να ολοκληρωθεί η διαδικασία επαλήθευσης, με τη μορφή ενός προτύπου (template) με κώδικα Coq που πρέπει να συμπληρωθεί.
dc.languageGreek
dc.subjectαξιωματική σημασιολογία
dc.subjectλογική hoare
dc.subjectεπαλήθευση προγραμμάτων
dc.subjectμερική ορθότητα
dc.subjectcoq
dc.titleΜηχανική Επαλήθευση Προστακτικών Προγραμμάτων
dc.typeDiploma Thesis
dc.description.pages61
dc.contributor.supervisorΠαπασπύρου Νικόλαος
dc.departmentΤομέας Τεχνολογίας Πληροφορικής & Υπολογιστών
dc.organizationΕΜΠ, Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File SizeFormat 
DT2009-0168.pdf375.2 kBAdobe PDFView/Open


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