Σχεδίαση και ανάπτυξη συστήματος σταδιακής (incremental) στατικής ανάλυσης έργων λογισμικού
Στη σημερινή εποχή, τα έργα λογισμικού ολοένα αυξάνονται σε μέγεθος και σε πολυπλοκότητα. Το γεγονός αυτό σε συνδυασμό με τις ολοένα αυξανόμενες ανάγκες σύμφωνα με τις οποίες τα έργα λογισμικού πρέπει να είναι επεκτάσιμα (expansible), αξιόπιστα (reliable), διατηρήσιμα (maintainable) κτλ., καθιστά επιτακτική την ανάγκη της αξιολόγησης/βελτιστοποίησης της ποιότητας του παραγόμενου κώδικα (source code quality). Προς την κατεύθυνση αυτή, έχει προταθεί πληθώρα μετρικών που στοχεύουν στην ποσοτικοποίηση της ποιότητας του λογισμικού, καθώς και πρότυπα ποιότητας που συνδέουν τις αντίστοιχες μετρικές με τα αντίστοιχα χαρακτηριστικά ποιότητας (quality attributes).
Η εισαγωγή της συνεχούς παρακολούθησης της ποιότητας έργων λογισμικού ως αναπόσπαστο κομμάτι της διαδικασίας παραγωγής λογισμικού (analysis per commit) σε συνδυασμό με τα σύγχρονα εργαλεία στατικής ανάλυσης, τα οποία προϋποθέτουν την εκ νέου ανάλυση του συνόλου του πηγαίου κώδικα για οποιαδήποτε αλλαγή (διαδικασία πολύπλοκη τόσο χρονικά όσο και υπολογιστικά), καθιστούν επιτακτική την ανάγκη εύρεσης αποδοτικότερων μεθόδων στατικής ανάλυσης. Προς την κατεύθυνση αυτή, το αντικείμενο της παρούσας διπλωματικής εργασίας αποτελεί την κατασκευή ενός συστήματος που θα επιτρέπει την σταδιακή (incremental) στατική ανάλυση έργων λογισμικού. Πιο συγκεκριμένα ο στόχος του συστήματος προς υλοποίηση είναι ο σχεδιασμός μεθοδολογίας που θα επιτρέπει τον υπολογισμό μετρικών στατικής ανάλυσης λαμβάνοντας υπόψη μόνο τις μεταβολές που έχουν γίνει στον πηγαίο κώδικα (π.χ. σε ένα συγκεκριμένο commit).
Κωδικός: Autumn19-Softeng-9
Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν
- Τεχνικές εξόρυξης δεδομένων/Ανάλυσης δεδομένων
- Ποιότητα κώδικα/Στατική ανάλυση κώδικα
- Εξαγωγή πληροφορίας από αποθετήρια κώδικα
- Τεχνολογίες/Γλώσσες προγραμματισμού: βιβλιοθήκες μηχανικής μάθησης, ανάκτησης και αποθήκευσης δεδομένων/Python
Εκτιμώμενος χρόνος περάτωσης
6 – 9 Μήνες
Συνεργαζόμενοι Ερευνητές
- Υποψήφιος Δρ: Μιχαήλ Παπαμιχαήλ (mpapamic [at] issel [dot] ee [dot] auth [dot] gr)