dc.contributor.author |
Σαχίνογλου, Ιωάννης-Πέτρος
|
el |
dc.contributor.author |
Sachinoglou, Ioannis-Petros
|
en |
dc.date.accessioned |
2018-10-02T10:12:21Z |
|
dc.date.available |
2018-10-02T10:12:21Z |
|
dc.date.issued |
2018-10-02 |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/47697 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.15833 |
|
dc.rights |
Default License |
|
dc.subject |
Τυπικές μέθοδοι επαλήθευσης |
el |
dc.subject |
Περιορισμένη αναγωγή σε δυναμικές σχέσεις μερικής διάταξης |
el |
dc.subject |
Stateless model checking |
en |
dc.subject |
Read-Copy-Update |
en |
dc.subject |
Συστηματικός έλεγχος ταυτοχρoνισμού |
en |
dc.title |
Τεχνικές περιορισμού στην αναγωγή σε δυναμικές σχέσεις μερικής διάταξης |
el |
heal.type |
bachelorThesis |
|
heal.classification |
Γλώσσες προγραμματισμού |
el |
heal.classificationURI |
http://data.seab.gr/concepts/983b34771fb7185d04c9603559c9e46f4b70496d |
|
heal.language |
el |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2018-07-06 |
|
heal.abstract |
H διεξοδική δοκιμή και επαλήθευση προγραμμάτων γραμμένων στο πρότυπο του ταυτοχρονισμού είναι μία τόσο σημαντική όσο και απαιτητική εργασία. Προκειμένου να επαληθεύσουμε την ορθότητα ενός τέτοιου προγραμμάτος θα πρέπει να εξετάσουμε όλες
τις δυνατές δρομολογήσεις που αυτό μπορεί να παράξει. Το Stateless Model Checking με τη χρήση αναγωγής σε δυναμικές σχέσεις μερικής διάταξης (Dynamic Partial Order
Reduction ή DPOR) είναι μια τεχνική, η οποία αντιμετωπίζει το πρόβλημα της έκρηξης του μεγέθους του χώρου καταστάσεων. Παρολα αυτά, η επαλήθευση μεγάλων προγραμμάτων
μπορεί να διαρκέσει περισσότερο από όσο θα επιθυμούσαν οι προγραμματιστές. Σε αυτές τις περιπτώσεις ο περιορισμός (οριοθέτηση) της αναζήτησης (bounded search)
με τη χρήση κάποιου ορίου μπορεί να αποδειχθεί αρκετά χρήσιμος. Η περιορισμένη αναζήτηση, σε αντίθεση με την DPOR απαλείφει το πρόβλημα της έκρηξης του μεγέθους
του χώρου καταστάσεων αγνοώντας δρομολογήσεις που ξεπερνούν κάποιο όριο. Στην παρούσα διπλωματική εργασία περιγράφεται η υλοποίηση του Preemption Pounded
DPOR (BPOR) στο Nidhugg ένα εργαλείο για την ανεύρεση σφαλμάτων (bugs) που προκύπτουν από το μοντέλο του ταυτοχρονισμού και τα χαλαρά μοντέλα μνήμης (relaxed
memory models). Συγκεκριμένα, υλοποιήθηκαν τρεις τεχνικές περιορισμού: ο Naive-BPOR, o Nidhugg-BPOR και ο Source-BPOR. Οι τεχνικές αυτές αξιολογήθηκαν τόσο σε
συνθετικά προγράμματα, όσο και σε λογισμικό που χρησιμοποιείται στην βιομηχανία. Πιο αναλυτικά, η ορθότητα του μηχανισμού Read-Copy-Update του πυρήνα του Linux
επαληθεύτηκε ξανά με τη χρήση αυτών των τεχνικών. Επιπροσθέτως, εξετάστηκε κατά πόσο οι βελτιστοποιήσεις που εφαρμόζονται στον μη περιορισμένο DPOR μπορούν να
βελτιώσουν την επίδοση του BPOR. |
el |
heal.abstract |
Thorough verification and testing of concurrent programs is an important, but also challenging task. In order to verify a concurrent program one must examine all possible different interleavings the scheduler can produce. Stateless model checking with Dynamic
Partial Order Reduction is a technique proposed to deal with state space explosion. Nevertheless, for larger programs the verification takes longer than the developers are willing to wait. In these cases, bounded search can be proved useful. Bounded search, in contrast to the DPOR, alleviates state-space explosion by pruning the executions that exceed a bound. This thesis describes the implementation of the preemption bounded DPOR (BPOR) on
Nidhugg, a bug finding tool which targets bugs caused by concurrency and relaxed memory consistency in concurrent programs. Specifically three bounding techniques were implemented: the Naive-BPOR, the BPOR, and the Source-BPOR. The three techniques were evaluated both in synthetic and in real world software. Specifically Read-Copy-Update mechanism of Linux Kernel was verified again. Moreover it is examined whether optimizations that have been suggested for the unbounded DPOR can improve the efficiency of BPOR. |
en |
heal.advisorName |
Σαγώνας, Κωσταντίνος |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.committeeMemberName |
Κοζύρης, Νεκτάριος |
el |
heal.committeeMemberName |
Σαγώνας, Κωνσταντίνος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
96 σ. |
|
heal.fullTextAvailability |
true |
|