Ερευνητικά Θέματα Ανάπτυξης Λογισμικού


Κωδικός 640
Εξάμηνο Εαρινό
Ώρες Διδασκαλίας - Ώρες Εργαστηρίου 3 - 0
Διδάσκοντες Κωστής Σαγώνας

Περιγραφή

Σκοπός του μαθήματος είναι να εξετάσει σε βάθος ερευνητικά θέματα στο χώρο στον οποίο τέμνονται οι γλώσσες προγραμματισμού και η τεχνολογία λογισμικού, Πιο συγκεκριμένα το μάθημα εξετάζει τεχνικές και μεθοδολογίες που σκοπό τους έχουν τη δημιουργία εργαλείων λογισμικού που επιτρέπουν την ανάπτυξη αξιόπιστου (reliable) και ασφαλούς (safe) κώδικα ο οποίος αποδεδειγμένα έχει αυτές τις ιδιότητες. Θέματα που περιλαμβάνονται στο μάθημα είναι: Αυτόματες μέθοδοι ανίχνευσης και διόρθωσης σφαλμάτων (bugs) σε προγράμματα είτε μέσω στατικής ανάλυσης είτε μέσω ελέγχου σε χρόνο εκτέλεσης (runtime monitoring). Τρόποι με τους οποίους μπορούμε να ανιχνεύσουμε και να αποφύγουμε ευπάθειες λογισμικού (software vulnerabilities), όπως π,χ, buffer overflows, format string vulnerabilities, SQL injections, race conditions, και να γράψουμε πιο ασφαλή προγράμματα. Τεχνικές απομόνωσης σφαλμάτων λογισμικού με χρήση κάποιου εικονικού περιβάλλοντος εκτέλεσης (virtualization). Εργαλεία λογισμικού για επαληθεύσιμο προγραμματισμό (Cyclone, CCured, Blast, Spec#).