dc.contributor.author |
Δοντάς, Σπυρίδων
|
el |
dc.date.accessioned |
2021-02-24T16:59:01Z |
|
dc.date.available |
2021-02-24T16:59:01Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/52913 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.20611 |
|
dc.rights |
Default License |
|
dc.subject |
Ελεγχος λογισμικού |
el |
dc.subject |
Ελεγχος βάσει ιδιοτήτων |
el |
dc.subject |
Αυτόματος έλεγχος |
el |
dc.subject |
Τυχαίος έλεγχος |
el |
dc.subject |
Στοχευμένος έλεγχος βάσει ιδιοτήτων |
el |
dc.subject |
Software testing |
en |
dc.subject |
Property based testing |
en |
dc.subject |
Automated testing |
en |
dc.subject |
Random testing |
en |
dc.subject |
Targeted property based testing |
en |
dc.title |
Στοχευμένος ελεγχος βάσει ιδιοτήτων σε συστήματα με κατάσταση |
el |
dc.title |
Targeted stateful property based testing |
en |
dc.contributor.department |
Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.type |
bachelorThesis |
|
heal.classification |
Προγραμματισμός |
el |
heal.language |
el |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2021-01-22 |
|
heal.abstract |
Ο έλεγχος βάσει ιδιοτήτων, ή Property Based Testing, αποτελεί μία τεχνική η οποία χρησιμοποιείται για τον έλεγχο είτε αγνών συνάρτησεων είτε περίπλοκων συστημάτων με εσωτερική κατάσταση. Το PropEr, το οποίο είναι το εργαλείο που χρησιμοποιείται στο πλαίσιο αυτής της διπλωματικής, παρέχει, επιπλέον, τη δυνατότητα στοχευμένου ελέγχου βάσει ιδιοτήτων, ή Targeted Property Based Testing. Αυτός αποτελεί μια παραλλαγή του ελέγχου βάσει ιδιοτήτων όπου χρησιμοποιείται κάποια στρατηγική αναζήτησης για την καθοδήγηση της τυχαίας παραγωγής εισόδων προς κάποιο στόχο, ο οποίος ωστόσο περιορίζεται σε αγνές συναρτήσεις. Στην παρούσα διπλωματική εργασία, επεκτείνουμε το PropEr, και τις ήδη υπάρχουσες υλοποιήσεις για έλεγχο συστημάτων με εσωτερική κατάσταση (proper_statem και proper_fsm), ώστε να μπορεί να ελέγχει στοχευμένα τέτοια συστήματα. Ο χρήστης το μόνο που καλείται να κάνει είναι να χρησιμοποιήσει το παρεχόμενο API, καθώς και να προσδιορίσει μία τιμή χρησιμότητας προς μεγιστοποίηση ή ελαχιστοποίηση, με το PropEr να αναλαμβάνει όλη την υπόλοιπη διαδικασία. Δεδομένης της τιμής χρησιμότητας, το PropEr θέτει σε λειτουργία στρατηγικές αναζήτησης, οι οποίες, ύστερα από κάποιο αριθμό δοκιμών, πλησιάζουν αυτό το μέγιστο ή ελάχιστο, ώστε να επιβεβαιώσει πως το σύστημα δεν παρουσιάζει σφάλμα, όταν η εσωτερική του κατάσταση έχει κάποια συγκεκριμένη μορφή (από την οποία προκύπτει και η τιμή χρησι-
μότητας). |
el |
heal.abstract |
Property Based Testing is a widely used technique in order to test either pure functions or complex stateful systems. PropEr, which is the tool that is being used as part of this thesis, provides, in addition, the ability of Targeted Property Based Testing. This is a variation of Property Based Testing in that it employs search strategies to guide the random generation of inputs to a certain target, but is limited to pure functions. In this thesis, we extend PropEr, and the libraries it provides to perform stateful property based testing (proper_statem and proper_fsm), so that it can perform targeted testing on such systems. The user is only required to use the provided API calls, as well as define a utility value to maximize or minimize. Given that utility value, PropEr will use search strategies, which, after some number of tests, eventually come close, or achieve, this maximum or minimum,
so that it can confirm that the system does not produce errors, when its internal state is in some specific format (from which the utility value is derived). |
en |
heal.advisorName |
Σαγώνας, Κωνσταντίνος |
el |
heal.committeeMemberName |
Σαγώνας, Κωνσταντίνος |
el |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος Σ. |
el |
heal.committeeMemberName |
Γκούμας, Γεώργιος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
60 σ. |
el |
heal.fullTextAvailability |
false |
|