HEAL DSpace

Στατική Ανάλυση για Εύρεση Λαθών σε Προγράμματα JavaScript

Αποθετήριο DSpace/Manakin

Εμφάνιση απλής εγγραφής

dc.contributor.advisor Σαγώνας, Κωνσταντίνος el
dc.contributor.author Κασαμπαλής, Θεόδωρος Γ. el
dc.contributor.author Kasampalis, Theodoros G. en
dc.date.accessioned 2012-09-24T10:55:56Z
dc.date.available 2012-09-24T10:55:56Z
dc.date.copyright 2012-07-25 -
dc.date.issued 2012-09-24
dc.date.submitted 2012-07-25 -
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/6663
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.11299
dc.description 46 σ. el
dc.description.abstract Η JavaScript είναι μία δημοφιλής γλώσσα προγραμματισμού, που χρησιμοποιείται κυρίως για προγραμματισμό στον ιστό, αλλά και για προγραμματισμό ενικού σκοπού. Η γλώσσα αυτή έχει δυναμικό και χαλαρό σύστημα τύπων, και κατά συνέπεια τα λάθη σε προγράμματα JavaScript είναι δύσκολο να εντοπιστούν. Παρόλα αυτά, η υπάρχουσα υποστήριξη από αυτόματα εργαλεία για τη γλώσσα είναι περιορισμένη. Η εργασία μας στοχεύει στη βελτίωση αυτής της κατάστασης. Αναπτύσσουμε μία διαδικασία στατικής ανάλυσης για προγράμματα JavaScript που καλύπτει όλα τα χαρακτηριστικά της γλώσσας. Η ανάλυσή μας είναι ικανή να εξάγει πληροφορίες σχετικές με τους τύπους κατά την εκτέλεση, τους γράφους κλήσεων, τη διάδοση εξαιρέσεων και τη δομή των αντικειμένων, χρησιμοποιώντας μια ικανοποιητική αφαίρεση για ολόκληρο το runtime σύστημα της γλώσσας και για τον ασυνήθιστο μηχανισμό προτοτύπων που διαθέτει. Σε αυτή τη διπλωματική, παρουσιάζουμε λεπτομερώς αυτή την αφαίρεση και την αντιστοιχία της με την προδιαγραφή της γλώσσας. Επίσης, περιγράφουμε τον αλγόριθμο στατικής ανάλυσης που χρησιμοποιήθηκε και δίνουμε ενδεικτικά παραδείγματα. el
dc.description.abstract JavaScript is a popular programming language, that is mostly used for client-side web scripting, but also for general purpose programming. The language is dynamically and weakly typed, and thus errors in JavaScript programs are difficult to spot. However the existing tools that support JavaScript programmers are limited. Our work aims to the improvement of this situation: We develop a framework for static analysis of JavaScript programs that covers all the features of the language. Our framework is able to infer information about the runtime types, call graphs, exception flow and object structure by successfully abstracting the language’s whole runtime environment and its uncommon prototype mechanism. In this theses, we present in detail our abstraction and its correspondence with the JavaScript specification. Also, the static analysis algorithm used by our framework is described and demonstrated. en
dc.description.statementofresponsibility Θεόδωρος Γ. Κασαμπαλής el
dc.language.iso el en
dc.rights ETDFree-policy.xml en
dc.subject Στατική ανάλυση el
dc.subject Εξαγωγή τύπων el
dc.subject Ανάλυση ροής δεδομένων el
dc.subject Γλώσσες προγραμματισμού el
dc.subject Static analysis en
dc.subject Type inference en
dc.subject Dataflow analysis en
dc.subject JavaScript en
dc.subject Programming languages en
dc.title Στατική Ανάλυση για Εύρεση Λαθών σε Προγράμματα JavaScript el
dc.title.alternative Static Analysis for Error Detection in JavaScript Programs en
dc.type bachelorThesis el (en)
dc.date.accepted 2012-07-23 -
dc.date.modified 2012-07-25 -
dc.contributor.advisorcommitteemember Παπασπύρου, Νικόλαος el
dc.contributor.advisorcommitteemember Κοντογιάννης, Κωνσταντίνος el
dc.contributor.committeemember Σαγώνας, Κωνσταντίνος el
dc.contributor.committeemember Παπασπύρου, Νικόλαος el
dc.contributor.committeemember Κοντογιάννης, Κωνσταντίνος el
dc.contributor.department Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών. Εργαστήριο Τεχνολογίας Λογισμικού. el
dc.date.recordmanipulation.recordcreated 2012-09-24 -
dc.date.recordmanipulation.recordmodified 2012-09-24 -


Αρχεία σε αυτό το τεκμήριο

Αυτό το τεκμήριο εμφανίζεται στην ακόλουθη συλλογή(ές)

Εμφάνιση απλής εγγραφής