dc.contributor.author |
Ιωακειμίδη, Αθηνά
|
el |
dc.contributor.author |
Ioakeimidi, Athina
|
en |
dc.date.accessioned |
2021-10-01T10:03:59Z |
|
dc.date.available |
2021-10-01T10:03:59Z |
|
dc.identifier.uri |
https://dspace.lib.ntua.gr/xmlui/handle/123456789/53919 |
|
dc.identifier.uri |
http://dx.doi.org/10.26240/heal.ntua.21617 |
|
dc.rights |
Default License |
|
dc.subject |
Έλεγχος ορθότητας |
el |
dc.subject |
Test-case generation |
en |
dc.subject |
Λεκτικός αναλυτής |
el |
dc.subject |
Κανονικές εκφράσεις |
el |
dc.subject |
Πεπερασμένα αυτόματα |
el |
dc.subject |
Testing |
en |
dc.subject |
Test-case generation |
en |
dc.subject |
Lexical analyser |
en |
dc.subject |
Regular expressions |
en |
dc.subject |
Finite automata |
en |
dc.title |
Αυτόματος έλεγχος λεκτικών αναλυτών |
el |
dc.title |
Automated Testing for Lexical Analysers |
en |
heal.type |
bachelorThesis |
|
heal.classification |
Μεταγλωττιστές |
el |
heal.classification |
Compilers |
en |
heal.language |
el |
|
heal.access |
free |
|
heal.recordProvider |
ntua |
el |
heal.publicationDate |
2021-07-14 |
|
heal.abstract |
Σκοπός της παρούσας διπλωματικής εργασίας είναι η δημιουργία ενός εργαλείου που ελέγχει την ορθότητα μεταγλωττιστών και, πιο συγκεκριμένα, των λεκτικών αναλυτών.
Οι μεταγλωττιστές είναι από τα πιο σημαντικά εργαλεία στην επιστήμη των υπολογιστών. Κάθε πρόγραμμα, για να καταλήξει σε μορφή που να εκτελείται από τον υπολογιστή, πρέπει πρώτα να έχει δεχτεί επεξεργασία από κάποιο μεταγλωττιστή. Αυτός ο μεταγλωττιστής είναι η μοναδική σύνδεση μεταξύ του κώδικα, που διαβάζει και γράφει εύκολα ένας προγραμματιστής, και του προγράμματος, που αναγνωρίζει και μπορεί να τρέξει ο υπολογιστής. Συνεπώς, οι μεταγλωττιστές είναι αναγκαίο και αναπόσπαστο κομμάτι του προγραμματισμού, γι’ αυτό και η εξασφάλιση της σωστής λειτουργίας τους είναι υψίστης σημασίας.
Στην παρούσα διπλωματική εργασία ασχολούμαστε με το πρώτο μέρος ενός μεταγλωττιστή, το λεκτικό αναλυτή, και υλοποιούμε ένα εργαλείο για τον έλεγχό του. Ο έλεγχος αυτός θα γίνεται με τυχαία παραγωγή δοκιμαστικών εισόδων, «θετικών» και «αρνητικών», οι οποίες θα τροφοδοτούνται στο υπό έλεγχο πρόγραμμα για να μελετηθεί η ανταπόκρισή του. Η υλοποίηση θα γίνει στη γλώσσα Python, με τη χρήση κανονικών εκφράσεων, πεπερασμένων αυτομάτων και property-based testing. |
el |
heal.abstract |
The purpose of this diploma thesis is the implementation of a testing tool for compilers and, specifically, for lexical analysers.
Compilers are some of the most important tools in computer science. Every program, in order to become executable by a computer, needs to be processed by a compiler at first. This compiler is the only connection between the code, that a programmer can easily read and write, and the program, that a computer can recognise and run. As a result, compilers are an essential and integral part of programming. This is why the assurance of their correctness is of utmost importance.
In this diploma thesis, we focus on the first part of a compiler, the lexical analyser, and build a testing tool for that. This testing will occur by generating random test-cases, positive and negative, which will then be inputted in the program under test, in order to check its response. The implementation will be in Python and will use regular expressions, finite automata and property-based testing. |
en |
heal.advisorName |
Παπασπύρου, Νικόλαος |
el |
heal.advisorName |
Papaspyrou, Nikolaos |
en |
heal.committeeMemberName |
Παπασπύρου, Νικόλαος |
el |
heal.committeeMemberName |
Σαγώνας, Κωνσταντίνος |
el |
heal.committeeMemberName |
Γκούμας, Γεώργιος |
el |
heal.academicPublisher |
Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Τεχνολογίας Λογισμικού |
el |
heal.academicPublisherID |
ntua |
|
heal.numberOfPages |
53 σ. |
el |
heal.fullTextAvailability |
false |
|