dc.contributor.author | Διονύσιος, Σπηλιόπουλος | el |
dc.contributor.author | Dionisios, Spiliopoulos | en |
dc.date.accessioned | 2022-09-15T08:14:46Z | |
dc.date.available | 2022-09-15T08:14:46Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/55668 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.23366 | |
dc.rights | Αναφορά Δημιουργού - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-sa/3.0/gr/ | * |
dc.subject | Concolic Testing | en |
dc.subject | CutEr | en |
dc.subject | Erlang | en |
dc.subject | 'Eλεγχος προγραμμάτων | el |
dc.subject | White-Box Testing | en |
dc.subject | Μείωση χώρου αναζήτησης | el |
dc.subject | Search Space Reduction | en |
dc.title | Περιορισμός του χώρου αναζήτησης του concolic testing μέσω στατικής ανάλυσης | el |
dc.title | Reducing the search space of concolic testing via static analysis | en |
heal.type | bachelorThesis | |
heal.classification | Πληροφορική | el |
heal.classification | Computer science | en |
heal.language | el | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2022-03-16 | |
heal.abstract | Ο έλεγχος προγραμμάτων είναι κρίσιμος για την ανάπτυξη αξιόπιστων εφαρμογών. Το concolic testing είναι μία τεχνική White-Box testing, η οποία επιδιώκει την αυτόματη δημιουργία πολλαπλών εισόδων για ένα πρόγραμμα, προκειμένου να εντοπίσει σφάλματα κατά την εκτέλεση. Αυτή η τεχνική αντιμετωπίζει το πρόβλημα ενός πολύ μεγάλου χώρου αναζήτησης από μονοπάτια εκτέλεσης, του οποίου η εξερεύνηση είναι χρονικά απαιτητική. Σε αυτή την διπλωματική εργασία αναπτύχθηκε μια μέθοδος για τη μείωση του χώρου αναζήτησης κάνοντας χρήση της στατικής πληροφορίας ενός προγράμματος για την αφαίρεση των κλαδιών που δεν παράγουν σφάλματα. Ως στατική πληροφορία χρησιμοποιούμε το αφηρημένο συντακτικό δέντρο του προγράμματος, καθώς και τους τύπους που παρέχονται σε αυτό. Η μέθοδος αυτή αναπτύχθηκε στο CutEr, ένα εργαλείο για concolic testing της γλώσσας προγραμματισμού Erlang. Ακόμα, η μέθοδος ελέγχθηκε με ήδη υπάρχοντα προγράμματα, καθώς και νέα ειδικά σχεδιασμένα για τον σκοπό αυτόν, προκειμένου να αναδειχθεί η χρησιμότητά της. Τέλος, παρατίθενται τα αποτελέσματα του ελέγχου αυτού, όπου φαίνεται ότι οι χρονικές απαιτήσεις του concolic testing μπορούν να μειωθούν ραγδαία με τη χρήση αυτής της μεθόδου αφαίρεσης κλάδων. | el |
heal.abstract | Software testing is crucial for developing any reliable application. Concolic testing is a White-Box testing technique, which tries to create various inputs for a program automatically, in order to locate runtime errors. This technique though suffers from a vast search space of execution paths that is inefficient and time-consuming to fully traverse. In our work, we propose a method to reduce this search space by exploiting the static information in a program and pruning branches which will certainly not produce errors. As static information, we use the program's abstract syntax tree, as well as the type annotations provided. This method was implemented in CutEr, a concolic testing tool for the Erlang programming language. We have also tested our method with custom programs and real world code. Finally, we report the results of our testing and show that the time performance of concolic testing can be immensely increased by using our method for safe branch pruning. | en |
heal.advisorName | Σαγώνας, Κωστής | el |
heal.committeeMemberName | Σαγώνας, Κωστής | el |
heal.committeeMemberName | Παγουρτζής, Άρης | el |
heal.committeeMemberName | Φωτάκης, Δημήτριος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Τεχνολογίας Λογισμικού | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 77 σ. | el |
heal.fullTextAvailability | false | |
heal.fullTextAvailability | false |
The following license files are associated with this item: