Εντοπισμός διαδεδομένων προτύπων ανακατασκευής (Refactoring Patterns) σε έργα λογισμικού
Abstract
Οι τεχνικές του Refactoring αποτελούν απαραίτητες μέθοδοι που εφαρμόζονται για την αντιμετώπιση πιθανών προβλημάτων ή αδυναμιών στον σχεδιασμό ή/και στη δομή του κώδικα. Τα προβλήματα αυτά, συχνά περιγράφονται από την έννοια του «Code Smells». Η διαδικασία του Refactoring είναι ιδιαίτερα σημαντική αφού έχει ώς σκοπό να επιτύχει πολλαπλά οφέλη, όπως είναι η συντηρησιμότητα, η αύξηση της απόδοσης, η μείωση της πολυπλοκότητας του κώδικα αλλά και η ευκολότερη ενσωμάτωση νέων λειτουργιών, σε υπάρχοντα λογισμικά, χωρίς να επηρεάζεται η λειτουργικότητά του. Αντικείμενο της συγκεκριμένης διπλωματικής αποτελεί ο εντοπισμός διαδεδομένων προτύπων ανακατασκευής (Refactoring Patterns) σε έργα λογισμικού γραμμένα σε γλώσσα Python. Στα πλαίσια την εργασίας αναπτύχθηκε λογισμικό, το οποίο μετά την ανάλυση του κώδικα δύο εκδόσεων οποιουδήποτε έργου Python, εντοπίζει διάφορους τύπους Refactor. Η εύρεση των Refactors πραγματοποιείται μέσω αλγορίθμων που δημιουργήθηκαν για τον σκοπό αυτό. Ως αποτέλεσμα, η παρούσα έκδοση του λογισμικού, είναι σε θέση να εντοπίζει 24 διαφορετικούς τύπους Refactor. Στη συνέχεια, πραγματοποιήθηκε η εκτέλεση του λογισμικού σε 209 διαφορετικά έργα μεταξύ 5368 εκδόσεων, όπου εντοπίστηκαν συνολικά 70422 διαφορετικά Refactors. Τέλος, χρησιμοποιώντας τα Refactors που εντοπίστηκαν, δημιουργήθηκαν στατιστικά που αφορούν την συχνότητα εμφάνισης εφαρμογής των τύπων και κατηγοριών Refactors κατά την εξέλιξη των διαφόρων έργων.