SlideShare a Scribd company logo
1 of 61
1
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ
ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Επιβλέπων:
Συμεωνίδης Ανδρέας
Αναπληρωτής Καθηγητής
Τμήμα Ηλεκτρολόγων Μηχανικών και
Μηχανικών Υπολογιστών
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Εργαστήριο Επεξεργασίας Πληροφορίας
και Υπολογισμών
ΠΑΡΟΥΣΙΑΣΗ - ΥΠΟΣΤΗΡΙΞΗ
ΔΙΔΑΚΤΟΡΙΚΗΣ ΔΙΑΤΡΙΒΗΣ
2
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Περιεχόμενα
 Εισαγωγή
 Σκοπός και συνεισφορά στο πεδίο της Ποιότητας Λογισμικού
 Μηχανισμός Αποτίμησης Διατηρησιμότητας
 Προτεινόμενο Μοντέλο
 Κατάρτιση Σετ Δεδομένων Αναφοράς
 Διατηρησιμότητα με βάση την Εξέλιξη στο Χρόνο (επίπεδο
πακέτου)
 Διατηρησιμότητα με βάση το Βαθμό Αποδοχής (επίπεδο
κλάσης)
 Αναγνωσιμότητα ως Δείκτης Διατηρησιμότητας (επίπεδο
μεθόδου)
 Πρακτική εφαρμογή διαδικασίας Αποτίμησης
Διατηρησιμότητας.
3
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Εισαγωγή
4
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Τεχνολογία Λογισμικού σήμερα… (1/2)
 Το λογισμικό πρωταγωνιστεί σε κάθε τομέα της
καθημερινότητας
 “Κάθε επιχείρηση είναι μια επιχείρηση λογισμικού”
(Watts S. Humphrey)
 Σύμφωνα με τον Roger S. Pressman, το λογισμικό έχει
διττό ρόλο
1.Αποτελεί το τελικό προϊόν
2.Αποτελεί το μέσο για την ανάπτυξη και παράδοση όλων
των υπολοίπων προϊόντων
Αποτελούν τα έργα λογισμικού σήμερα «success stories» ?
5
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Τεχνολογία Λογισμικού σήμερα… (2/2)
 Ραγδαία Εξέλιξη σε Πολυάριθμους Άξονες
 Αρχιτεκτονικές
 Διαδικασίες και Εργαλεία Ανάπτυξης Λογισμικού
 Γλώσσες Προγραμματισμού και Βιβλιοθήκες
ΟΜΩΣ1,2
 1/3 έργα λογισμικού θεωρούνται πετυχημένα
 >50% δεν ανταποκρίνονται στο
χρονοδιάγραμμα/κόστος
 >40% εγκαταλείπονται
$250Bn/έτο
ς
(ΗΠΑ)
1https://www.standishgroup.com/
2https://hennyportman.wordpress.com/2021/01/06/review-standish-group-chaos-2020-
beyond-infinity/
6
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Ποιότητα Λογισμικού
 Ποιότητα Λογισμικού:
“η δυνατότητα του υπό ανάπτυξη συστήματος να
ανταποκρίνεται στις προδιαγραφές που έχουν τεθεί”
 Υιοθέτηση Μηχανισμών Παρακολούθησης Ποιότητας:
 Εξοικονόμηση χρόνου και πόρων για την ανάπτυξη και
συντήρηση του λογισμικού
 Αναγνώριση χαρακτηριστικών του προϊόντος και
βελτιστοποίηση της ιεράρχησης προτεραιοτήτων
 Βελτιστοποίηση του τρόπου διαχείρισης της ομάδας
ανάπτυξης λογισμικού
7
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Μοντέλα Ποιότητας Λογισμικού
“Μια επιστήμη είναι τόσο ώριμη,
όσο ώριμα είναι τα εργαλεία μετρήσεων που έχει”
 Η ποιότητα λογισμικού αποτιμάται διαφορετικά από
διαφορετικούς ανθρώπους και σχετίζεται άμεσα με το
πεδίο εφαρμογής του κάθε έργου λογισμικού
 Μοντέλα Ποιότητας Λογισμικού: Συστηματοποιημένος
τρόπος ανάλυσης της γενικής έννοιας της ποιότητας
σε μια σειρά από χαρακτηριστικά
(Lois Pasteur)
8
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σκοπός και συνεισφορά στο πεδίο
της Ποιότητας Λογισμικού
9
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σκοπός Διδακτορικής Διατριβής
 Αυτοματοποιημένη αποτίμηση του βαθμού
διατηρησιμότητας έργων λογισμικού που πηγάζει από
τα “ίδια τα δεδομένα”
Αξιοποίηση πληροφορίας που εντοπίζεται στα
αποθετήρια κώδικα
Αξιοποίηση μοντέλων ποιότητας λογισμικού
Χρήση τεχνικών εξόρυξης δεδομένων
Κατασκευή μοντέλων που βασίζονται σε μετρικές
κώδικα
πηγάζει από τα ίδια τα
δεδομένα
10
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Συνεισφορά στο πεδίο της Ποιότητας
Λογισμικού
Ανάπτυξη ενός ιεραρχικού μοντέλου αποτίμησης
διατηρησιμότητας
 Αυτοματοποιημένη μεθοδολογία αποτίμησης
διατηρησιμότητας
 Ανάλυση σε πολλαπλά επίπεδα
 Δυνατότητα πρόβλεψης με βάση την εξέλιξη στο χρόνο
 Ερμηνευσιμότητα αποτελεσμάτων και δυνατότητα
παραμετροποιήσεων
 Εύκολη και συνεχής επεκτασιμότητα
11
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Μηχανισμός Αποτίμησης
Διατηρησιμότητας
12
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Προτεινόμενο Μοντέλο Αποτίμησης
Διατηρησιμότητας
Μετρική
Ιδιότητα Κώδικα
Χαρακτηριστικό
Διατηρησιμότητα
𝑁
1
𝑀
𝑁
13
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σετ Δεδομένων Αναφοράς (1/2)
 Ανάλυση μεγάλου αριθμού αποθετηρίων που
χρησιμοποιούνται ως «πρότυπο»
 Πληθοποριστική πληροφορία (stars, forks, used by)
ως δείκτης διατηρησιμότητας
 Μεγάλη διάρκεια στο χρόνο
 Μεγάλος αριθμός releases
 Μεγάλος αριθμός προγραμματιστών
 Εφαρμογή κανόνων διασφάλισης ποιότητας
14
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σετ Δεδομένων Αναφοράς (2/2)
Αποθετήρια
Κώδικα
Δεδομένα Τεχνολογίας
Λογισμικού
Στατική Ανάλυση
GitHub GitLab BitBucket
Maven npm
Πολυπλοκότητα
Σύζευξη
Σχολιασμός
Κληρονομικότητα
Μέγεθος
Συνοχή
Παραβιάσεις Συγγραφής
Πηγαίος Κώδικας
Πληθοποριστική Πληροφορία
Πληροφορία Εκδόσεων
15
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Κατάρτιση Σετ Δεδομένων Αναφοράς -
Αρχιτεκτονική
16
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Πλεονεκτήματα
 Εύκολη επεκτασιμότητα
 Ενσωμάτωση νέων αποθετηρίων
 Ενσωμάτωση νέων έργων λογισμικού
 Μετρικές Ποιότητας / Ιδιότητες κώδικα
 Κάλυψη διαφορετικών σχεδιαστικών αναγκών
 Αντιμετώπιση υπολογιστικής πολυπλοκότητας
 Συνεχής εμπλουτισμός με νέα πληροφορία
17
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αποτίμηση
Διατηρησιμότητας με
βάση το βαθμό Αποδοχής
(Επίπεδο Κλάσης)
18
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σετ δεδομένων αναφοράς
 Χρήση των 100 δημοφιλέστερων αποθετηρίων Java
(stars/forks)
 >100.000 κλάσεις
 ~8 εκατομμύρια γραμμές κώδικα
 Ανάλυση παραβιάσεων κώδικα
 180 παραβιάσεις που ανήκουν σε 16 κατηγορίες (Basic,
Comments, Naming, Design, Strings, κ.α.)
 5 στάθμες σημαντικότητας [1 (περισσότερο σημαντική)
– 5 (λιγότερο σημαντική)]
 Παραβιάσεις με σημαντικότητα 1 και 2 βρέθηκαν μόνο
για τις κατηγορίες Naming, Controversial και Design
19
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Διαμόρφωση Συνάρτησης Διατηρησιμότητας
(1/2)
 Ο αριθμός stars/forks
αναφέρεται σε επίπεδο
αποθετηρίου (και όχι
κλάσης)
 Δεν έχει κάθε κλάση την
ίδια σημαντικότητα σε
ένα αποθετήριο
 Μεγάλες διαφορές στον
αριθμό των stars και
forks ανάμεσα στα
αποθετήρια
6000
stars
3000
forks
x1 stars x2 stars y1 forks y2 forks
Βαθμός
Διατηρησιμότητας
Class A Class B Class A Class B
20
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Διαμόρφωση Συνάρτησης Διατηρησιμότητας
(2/2)
Για την j-οστή κλάση του i-οστού αποθετηρίου, ο βαθμός
διατηρησιμότητας διαμορφώνεται ως εξής:
ΒαθμόςΔιατ𝜂𝜌𝜂𝜎𝜄𝜇ό𝜏𝜂𝜏𝛼𝜍 𝑖, 𝑗 = log 𝑆𝑠𝑡𝑎𝑟𝑠 𝑖, 𝑗 + 𝑆𝑓𝑜𝑟𝑘𝑠 𝑖, 𝑗
𝑆𝑠𝑡𝑎𝑟𝑠 𝑖, 𝑗 = 1 + 𝑁𝑃𝑀 𝑗
𝑆𝑡𝑎𝑟𝑠(𝑖)
𝑁𝑐𝑙𝑎𝑠𝑠𝑒𝑠(𝑖)
𝑆𝑓𝑜𝑟𝑘𝑠 𝑖, 𝑗 = 1 + 𝐴𝐷 𝑗 + 𝑁𝑀 𝑗
𝐹𝑜𝑟𝑘𝑠(𝑖)
𝑁𝑐𝑙𝑎𝑠𝑠𝑒𝑠(𝑖)
Ίση αρχική συνεισφορά
Συνεισφορά των μετρικών
Παράγοντας
Εξισορρόπηση
ς
NPM: Number
of Public
Methods
AD: API
Documentatio
n
NM: Number
of Methods
21
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αρχιτεκτονική Συστήματος
100 δημοφιλέστερα
αποθετήρια
GitHub
100,000
κλάσεις
Σετ
Εκπαίδευση
ς
One Class SVM Διαμόρφωση
κατωφλίου
διατηρησιμότητας
Βαθμός
Διατηρησιμότητας
ANNs
models
Συνάθροιση
Σκορ
Σετ
Ελέγχου
Στατική
Ανάλυση
Ανάλυση
Χαρακτηριστικών
Πληροφορία
Αποθετηρίων
Πολυπλοκότητα
Σύζευξη
Κληρονομικότητα
Μέγεθος
Συνοχή
22
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Ανάλυση Χαρακτηριστικών
0.8 0.6 0.4 0.2 0.0
TNG
TNM
TNPM
NOC
NOD
CBOI
NII
AD
CD
TCD
NA.
NPA
TNA
TNPA
TNLA
TNLPA
NLA
NLPA
NOP
DIT
NOA
McCC
NL
NLE
NLG
NLS
WMC
RFC
CBO
NOI
LOC
LLOC
NOS
NM
NPM
TNS
NG
NS
PDA
TCLOC
CLOC
DLOC
PUA
NLM
NLPM
LCOM5
NUMPAR
TNLG
TNLS
TNLM
TNLPM
TLOC
TLLOC
TNOS
Distance
12 PCs
82,8% της
πληροφορίας
LCOM5 NL
…
WMC
LCOM5 0 0.72 0.39
NL 0.72 0 0.53
… …
WMC 0.39 0.53 0
Ανάλυση
Κυρίων Συνιστωσών
Πίνακας
Μετασχηματισμού
Ιεραρχική
Ομαδοποίηση
Επιλογή μιας μετρικής
ανά ομάδα
(15 στο σύνολο)
23
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Μοντέλα Νευρωνικών Δικτύων
Σετ Εκπαίδευσης
Πολυπλοκότητα Σύζευξη Κληρονομικότητα
Σχολιασμός Μέγεθος
PCA PCA PCA PCA PCA
Επιλογή Μετρικών
24
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Ανάλυση Χαρακτηριστικών
-0.55 -0.50 -0.45 -0.40
-0.8
-0.4
0.0
0.4
PC1
PC2
NL NLE
WMC
McCC
Μετρικές
Πολυπλοκότητας
NL, NLE, WMC, McCC
PCA
Τελική Επιλογή
NL, WMC, McCC
25
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Εκπαίδευση ΑΝΝs
 10-fold cross-
validation
 Σφάλμα 11,35% στο σετ
εκπαίδευσης και 8,79%
στο σετ ελέγχου
Ιδιότητα Βάρος
Πολυπλοκότητα 0,207
Σύζευξη 0,210
Σχολιασμός 0,197
Κληρονομικότητα 0,177
Μέγεθος 0,208
26
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Εμπλουτίζοντας την πληθοποριστική
πληροφορία…
 Μέτρηση του πραγματικού βαθμού επαναχρησιμοποίησης
των έργων λογισμικού (reuse rate)
 Χρήση της Μηχανής Αναζήτησης Κώδικα AGORA :
 Υποστηρίζει την εύρεση κώδικα με βάση τη σύνταξη
(syntax aware recommendations)
 Ενσωματώνει περισσότερα από 3.000 Java αποθετήρια
 Παρέχει REST API
 Δυνατότητα υπολογισμού του αριθμού των
επαναχρησιμοποιήσεων για κάθε κλάση
1
1 τμήμα της διδακτορικής διατριβής του Δρ. Θεμιστοκλή Διαμαντόπουλου (Διαθέσιμη στο σύνδεσμο: http://agora.ee.auth.gr )
27
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Υπολογισμός Reuse Rate
Χρήση των code imports
28
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση
 Η προτεινόμενη προσέγγιση αξιολογήθηκε στους
παρακάτω άξονες:
 Δυνατότητα διαχωρισμού των κλάσεων που ανταποκρίνονται σε
συγκεκριμένες προδιαγραφές διατηρησιμότητας
 Αποτίμηση συνολικού βαθμού διατηρησιμότητας
 Επισκόπηση των τιμών των μετρικών για κάθε ιδιότητα που
οδηγούν σε χαμηλά και μεγάλα σκορ διατηρησιμότητας
29
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση – One Class Classifier
69.72%
77.72%
49.29%
93.89%
85.76%
56.46%
77.20%
87.55%
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
WarningInfo
Clone
Cohesion
Complexity
Coupling
Documentation
Inheritance
Size
Ποσοστό μειωμένων παραβιάσεων (ανά κατηγορία)
ανάμεσα στις αποδεκτές και απορριπτέες κλάσεις
30
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση – Βαθμός Διατηρησιμότητας
Πολυπλοκότητα
Μετρική
Ελάχιστ
η Τιμή
Μέγιστη
Τιμή
Κλάση
με ψηλό
Σκορ
Κλάση
με
χαμηλό
Σκορ
McCC 1 71 2.3 8.5
WMC 0 741 6 8
NL 0 22 1 15
Βαθμός Σχολιασμού
Μετρική
Ελάχιστ
η Τιμή
Μέγιστη
Τιμή
Κλάση
με ψηλό
Σκορ
Κλάση
με
χαμηλό
Σκορ
AD 1 100% 100% 4,12%
CD 0 100% 31,03% 2,32%
CLOC 0 1487 45 17
31
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Διατηρησιμότητα με
βάση την Εξέλιξη στο
Χρόνο
(Επίπεδο Πακέτου)
32
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Επισκόπηση
 Η μη δυνατότητα διαχείρισης του τεχνικού χρέους
αποτελεί πρωταρχικό παράγοντα αποτυχίας των έργων
λογισμικού.
 Ο εντοπισμός των προβλημάτων δεν είναι αρκετός:
 Αριθμός/Σημαντικότητα αλλαγών
 Ανθρωποπροσπάθεια
 Κόστος ανάπτυξης λογισμικού
Μηχανισμοί Πρόβλεψης σε
Προγενέστερο Στάδιο
33
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Εξέλιξη Μετρικών Στατικής Ανάλυσης
Κύκλος Ζωής: Περίοδος
από την πρώτη έκδοση
που εμφανίζεται το
πακέτο μέχρι την
έκδοση που καταργήθηκε
 Ανάλυση σε επίπεδο
έκδοσης
 Υπολογισμός γραμμικών
τάσεων
34
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σετ δεδομένων αναφοράς
 Ανάλυση των 127 εκδόσεων του έργου elasticsearch
(περισσότερες από 50 εκατομμύρια γραμμές κώδικα)
Το έργο elasticsearch:
 Μεγάλο μέγεθος και αυξημένη πολυπλοκότητα
 Κύκλος ζωής που ξεπερνά τα 10 χρόνια
 Συνεχής εισαγωγή νέων απαιτήσεων (2,5 χιλιάδες ανοιχτά
issues)
 Μεγάλος αριθμός contributors (περισσότεροι από 1.000)
 Περισσότερα από 1.500 πακέτα/έκδοση
35
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Ορίζοντας τη μη-διατηρησιμότητα
 Εύρεση πακέτων που έχουν καταργηθεί από το αποθετήριο
Η κατάργηση πακέτων δεν σχετίζεται απαραίτητα με το βαθμό
διατηρησιμότητας
Κριτήρια επιλογής:
 Επιλογή μόνο των πακέτων με κύκλο ζωής τουλάχιστον 3
εκδόσεις (Αφαίρεση των «one-off» πακέτων)
 Επιλογή μόνο των πακέτων με τουλάχιστον μια μετρική με τάση
που επηρεάζει αρνητικά το βαθμό διατηρησιμότητας
 Εφαρμογή τεχνικών εύρεσης όμοιων τμημάτων κώδικα (code
clones detection) για απόρριψη πακέτων που έχουν
μετονομαστεί
ΟΜΩΣ
36
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Κατασκευή Μοντέλων
 Κατασκευή 4 SVMs ταξινομητών μίας κλάσης (1 για κάθε
ιδιότητα -πολυπλοκότητα, σύζευξη, συνοχή, κληρονομικότητα)
 Χρήση των γραμμικών τάσεων των μετρικών για τα πακέτα που
αναγνωρίστηκαν ως μη διατηρήσιμα
 Grid-search με στόχο την εύρεση των βέλτιστων τιμών για τις
παραμέτρους nu, gamma και cost
Πολυπλοκότητα
Σύζευξη
Κληρονομικότητα
Υπολογισμός
Γραμμικών Τάσεων
Συνοχή
Μ1
Μ2
Μ3
Μ4
Βαθμός
Διατηρησιμότητας
37
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση
 Η προτεινόμενη προσέγγιση αξιολογήθηκε στους
παρακάτω άξονες:
 Δυνατότητα εντοπισμού μη διατηρήσιμων πακέτων σε
συνδυασμό με την αιτία της μη-διατηρησιμότητας
 Εντοπισμός μη-διατηρήσιμων πακέτων σε πρώιμο στάδιο
38
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση - Εντοπισμός μη διατηρήσιμων
πακέτων
Αποθετήριο Sensitivity
Libgdx 93,67%
Apache Struts 72,72%
Hibernate 81,37%
Spring
Framework
83,46%
39
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση – Πρόβλεψη σε πρώιμο στάδιο
 Ανάλυση κάθε έκδοσης
λαμβάνοντας υπόψη
μόνο τις προηγούμενες
 Ποσοστό σωστών
προβλέψεων που
κυμαίνεται από 55,87%
μέχρι 72,58% του
κύκλου ζωής
40
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αναγνωσιμότητα ως
Δείκτης
Διατηρησιμότητας
(Επίπεδο Μεθόδου)
41
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Επισκόπηση
 Η κατανόηση του πηγαίου κώδικα αποτελεί μια από τις
πιο χρονοβόρες διαδικασίες στα πλαίσια της
διατήρησης έργων λογισμικού
 Αναγνωσιμότητα: Η ευκολία ενός αναγνώστη να κατανοήσει
ένα γραπτό κείμενο
Η κατανόηση του πηγαίου κώδικα εμπεριέχει πολλά
περισσότερα πέραν της κατανόησης της σύνταξης μιας
γλώσσας προγραμματισμού:
 Σκοπός και σχεδιαστικοί στόχοι του έργου λογισμικού
 Έλεγχος ροής
 Λειτουργικότητα σε πολλαπλά επίπεδα (γραμμή
κώδικα/μέθοδος/κλάση/υποσύστημα)
42
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σετ δεδομένων αναφοράς
 1.000.000 μέθοδοι που περιλαμβάνονται στα δημοφιλέστερα
GitHub Java αποθετήρια
 Στατική ανάλυση σε επίπεδο μεθόδου
 Πολυπλοκότητα
 Σύζευξη
 Σχολιασμός
 Μέγεθος
 Παραβιάσεις συγγραφής κώδικα
Ποσότητα Τιμή
Αριθμός αποθετηρίων 308
Αριθμός μεθόδων 1.004.589
Γραμμές Κώδικα 9.003.547
Αριθμός μετρικών 21
Αριθμός παραβιάσεων 193
43
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σύστημα που υλοποιήθηκε
Ομαδοποίηση με
βάση το Μέγεθος
Μικρό
Μετρικές Στατικής
Ανάλυσης
Παραβιάσεις
Κώδικα
Μεσαίο
Μεγάλο
Μοντέλα Αποτίμησης
Αναγνωσιμότητας
Πολυπλοκότητα
Αποτίμηση
Αναγνωσιμότητας
Σχολιασμός
Σύζευξη
44
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Ομαδοποίηση
 Αφαίρεση μεθόδων με λιγότερες από 3 γραμμές κώδικα
(setters/getters) και με περισσότερες από 300
γραμμές κώδικα
 Χρήση του kMeans για ομαδοποίηση με βάση το μέγεθος
Ομάδα Αριθμός Μεθόδων
Εύρος
LOC
Μέσο
Silhouette
#1 499.858 (68,29%) [1, 10] 0.76
#2 166.496 (22,74%) [11, 24] 0.52
#3 51.964 (7,09%) [25, 51] 0.51
#4 11.925 (1,62%) [52, 112] 0.51
#5 1.718 (0,23%) > 112 0.69
45
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Βαθμός αναγνωσιμότητας
 Βαθμός αναγνωσιμότητας μιας μεθόδου (i) δίνεται:
1 − 𝑁𝑜𝑟𝑚𝑒𝑑{
𝑤1 ∗ 𝑁𝑚𝑖𝑛𝑜𝑟(𝑖) + 𝑤2 ∗ 𝑁𝑚𝑎𝑗𝑜𝑟(𝑖) + 𝑤3 ∗ 𝑁𝑐𝑟𝑖𝑡𝑖𝑐𝑎𝑙(𝑖)
𝐿𝐿𝑂𝐶(𝑖)
}
 Διαμόρφωση των βαρών
με βάση τη
σημαντικότητα της κάθε
παραβίασης
46
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Κατασκευή Μοντέλων
 Χρήση SVR για την
εκπαίδευση 9 μοντέλων (1
για κάθε ιδιότητα και
κάθε ομάδα)
 Διαχωρισμός 80/20 ανάμεσα
στα σετ εκπαίδευσης και
ελέγχου
 Grid-search με στόχο την
εύρεση των παραμέτρων
gamma, tolerance και C.
Ομάδα Κατηγορία
ΜΑΕ
(Train/Test)
#1
Πολυπλοκότητα 6,60% / 6,53%
Σύζευξη 8,67% / 8,30%
Σχολιασμός 8,46% / 8,36%
#2
Πολυπλοκότητα 5,52% / 7,11%
Σύζευξη 7,25% / 7,38%
Σχολιασμός 7,09% / 7,19%
#3
Πολυπλοκότητα 6,53% / 8,68%
Σύζευξη 9,29% / 10,17%
Σχολιασμός 7,12% / 8,94%
47
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση
 Η προτεινόμενη προσέγγιση αξιολογήθηκε στους
παρακάτω άξονες:
 Απόδοση του συστήματος στην αξιολόγηση μιας σειράς από
έργα λογισμικού με διαφορετικά χαρακτηριστικά
 Εφαρμογή των συστάσεων στην πράξη για τη βελτίωση της
αναγνωσιμότητας μιας μεθόδου
48
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση – Απόδοση Συστήματος
Αποθετήριο
Αριθμός
Μεθόδων
Σκορ
#1 20,803 66.52%
#2 2,004 63.73%
#3 916 60.41%
#4 1,411 56.26%
#5 127 62.20%
49
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αξιολόγηση – Εφαρμογή Συστάσεων
Αρχική Μορφή
Τελική Μορφή
Πολυπλοκότητα: 47% Σχολιασμός: 5%
Πολυπλοκότητα: 83% Σχολιασμός: 96%
50
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Πρακτική εφαρμογή διαδικασίας αποτίμησης
διατηρησιμότητας
51
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Επισκόπηση
 Εφαρμογή του προτεινόμενου μοντέλου αποτίμησης
διατηρησιμότητας σε έργα λογισμικού διαχείρισης
πολυμέσων
 Δημιουργία του κατάλληλου σετ δεδομένων αναφοράς που
περιλαμβάνει όλα τα JAVA έργα λογισμικού διαχείρισης
πολυμέσων που περιέχονται στα 1.000 δημοφιλέστερα
αποθετήρια του GitHub (114 έργα)
 Ανάλυση ~2,5 εκατομμυρίων γραμμών κώδικα για τη
μοντελοποίηση σε επίπεδο κλάσης (114 έργα)
 Ανάλυση της εξέλιξης 10 έργων με στόχο την εκπαίδευση
των μοντέλων πρόβλεψης μη-διατηρησιμότητας σε επίπεδο
πακέτου.
52
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αποτελέσματα Εφαρμογής (1/2)
 Παρόμοια
αποτελέσματα με τα
μοντέλα γενικής
χρήσης (γενική
συμπεριφορά)
 Επιτυχής
μοντελοποίηση των
ιδιαίτερων
χαρακτηριστικών
53
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Αποτελέσματα Εφαρμογής (2/2)
 Παρόμοια
αποτελέσματα
προγενέστερων
προβλέψεων με τα
μοντέλα γενικής
χρήσης
54
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Συμπεράσματα και προτάσεις για
Μελλοντική Έρευνα
55
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Συμπεράσματα
 Δυνατότητα πλήρους αυτοματοποίησης της διαδικασίας
αποτίμησης του βαθμού διατηρησιμότητας
 Κατάρτιση σετ δεδομένων αναφοράς
 Χρήση μεγάλου αριθμού μετρικών ποιότητας
 Συνεχής εμπλουτισμός με ενσωμάτωση περισσότερων
αποθετηρίων
 Δυνατότητα πρόβλεψης μη-διατηρησιμότητας σε
προγενέστερο στάδιο
 Μελέτη της εξέλιξης των τιμών των μετρικών
 Δυνατότητα παροχής ερμηνεύσιμων αποτελεσμάτων
 Ιεραρχική δομή μοντέλου αποτίμησης διατηρησιμότητας
56
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Προτάσεις για Μελλοντική Έρευνα
 Ενσωμάτωση περισσότερων αποθετηρίων/πληθοποριστικών
μετρικών και μετρικών ποιότητας
 Περεταίρω έρευνα στην εξέλιξη των τιμών των μετρικών
στατικής ανάλυσης με την ενσωμάτωση μη γραμμικών τάσεων
 Εφαρμογή τεχνικών ομαδοποίησης για την ανάλυση των
ιδιαίτερων χαρακτηριστικών έργων λογισμικού με
διαφορετικό πεδίο εφαρμογής
 Ενσωμάτωση μετρικών που προέρχονται από την ομάδα
παραγωγής λογισμικού στη διαδικασία αποτίμησης
διατηρησιμότητας
 Εύρεση συσχετίσεων των ευρημάτων με δεδομένα που
προέρχονται από τη δυναμική σε περιβάλλον χρήσης
57
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Λίστα
Δημοσιεύσεων
58
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σχετικές Δημοσιεύσεις (1/2)
Άρθρα σε Περιοδικά:
1. Michail D. Papamichail, Themistoklis Diamantopoulos and Andreas L. Symeonidis, “Measuring the Reusability
of Software Components using Static Analysis Metrics and Reuse Rate Information”, in Journal of Systems and
Software, vol. 158, pp. 110423, December 2019.
2. Michail D. Papamichail, Themistoklis Diamantopoulos and Andreas L. Symeonidis, “Software Reusability
Dataset based on Static Analysis Metrics and Reuse Rate Information”, in Data in Brief, vol. 27, pp.
104687, December 2019.
3. Michail D. Papamichail, and Andreas L. Symeonidis, “A generic methodology for early identification of non-
maintainable source code components through analysis of software releases”, in Information and Software
Technology Journal, vol. 118, pp. 106218, November 2019.
4. Michail D. Papamichail, and Andreas L. Symeonidis, “Data-Driven Analytics towards Software Sustainability:
The Case of Open-Source Multimedia Tools on Cultural Storytelling”, in Sustainability, vol. 13, January
2021.
Κεφάλαια σε Βιβλία:
1. Valasia Dimaridou, Alexandros-Charalampos Kyprianidis, Michail D. Papamichail, Themistoklis Diamantopoulos
and Andreas L. Symeonidis, “Assessing the User-Perceived Quality of Source Code Components using Static
Analysis Metrics”, in Communications in Computer and Information Science (CCIS), vol. 868, pp. 3-27, June
2018.
2. Thomas Karanikiotis, Michail D. Papamichail, and Andreas L. Symeonidis, “Multilevel Readability
Interpretation against Software Properties: A data-centric Approach”, in Communications in Computer and
Information Science (CCIS), March 2021.
59
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σχετικές Δημοσιεύσεις (2/2)
Εργασίες σε Πρακτικά Συνεδρίων:
1. Michail D. Papamichail, Themistoklis Diamantopoulos and Andreas L. Symeonidis, “User-Perceived Source
Code Quality Estimation based on Static Analysis Metrics”, in 2016 IEEE International Conference on
Software Quality, Reliability and Security (QRS), pp. 100-107, Vienna, Austria, August 2016.
2. Valasia Dimaridou, Alexandros-Charalampos Kyprianidis, Michail D. Papamichail, Themistoklis
Diamantopoulos and Andreas L. Symeonidis, “Towards Modeling the User-perceived Quality of Source Code
using Static Analysis Metrics”, in 12th International Conference on Software Technologies (ICSOFT),
pp. 73-84, Madrid, Spain, July 2017.
3. Michail D. Papamichail, Themistoklis Diamantopoulos, Ilias Chrysovergis, Philippos Samlidis and
Andreas L. Symeonidis, “User-Perceived Reusability Estimation based on Analysis of Software
Repositories”, in 2018 IEEE International Workshop on Machine Learning Techniques for Software Quality
Evaluation (MaLTeSQuE), pp. 49-54, Campobasso, Italy, March 2018.
4. Kyriakos C. Chatzidimitriou, Michail D. Papamichail, Themistoklis Diamantopoulos, Michail Tsapanos,
and Andreas L. Symeonidis, “npm-miner: An Infrastructure for Measuring the Quality of the npm
Registry”, in IEEE/ACM 15th International Conference on Mining Software Repositories (MSR), pp. 42-45,
Gothenburg, Sweden, May 2018.
5. Themistoklis Diamantopoulos, Michail D. Papamichail, Thomas Karanikiotis, Kyriakos C. Chatzidimitriou,
and Andreas L. Symeonidis, “Employing Contribution and Quality Metrics for Quantifying the Software
Development Process”, in IEEE/ACM 17th International Conference on Mining Software Repositories (MSR),
Seoul, South Korea, May 2020.
6. Thomas Karanikiotis, Michail D. Papamichail, Ioannis Gonidelis, Dimitra Karatza, and Andreas L.
Symeonidis, “A data-driven Methodology towards Interpreting Readability against Software Properties“,
in 15th International Conference on Software Technologies (ICSOFT), Paris, France, July 2020.
60
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Άλλες Δημοσιεύσεις
Άρθρα σε Περιοδικά:
1. Michail D. Papamichail, Kyriakos C. Chatzidimitriou, Thomas Karanikiotis, Napoleon-Christos
Oikonomou, Andreas L. Symeonidis and Sashi K. Saripalle, “BrainRun: A Behavioral Biometrics Dataset
towards Continuous Implicit Authentication”, in Data, vol. 4, num. 2, May 2019
Εργασίες σε Πρακτικά Συνεδρίων:
1. Kyriakos C. Chatzidimitriou, Michail D. Papamichail, Napoleon-Christos Oikonomou, D. Lampoudis, and
Andreas L. Symeonidis, “Cenote: A Big Data Management and Analytics Infrastructure for the Web of
Things”, in 2019 IEEE/WIC/ACM International Conference on Web Intelligence (WI)), pp. 282-285,
Thessaloniki, Greece, October 2019.
2. Thomas Karanikiotis, Michail D. Papamichail, Kyriakos C. Chatzidimitriou, Napoleon-Christos I.
Oikonomou, Andreas L. Symeonidis, and Sashi K. Saripalle, “Continuous Implicit Authentication through
Touch Traces Modelling”, in 2020 IEEE International Conference on Software Quality, Reliability and
Security (QRS), Vilnius, Lithuania, July 2020.
3. Vasileios Matsoukas, Themistoklis Diamantopoulos, Michail D. Papamichail, and Andreas L. Symeonidis,
“Towards Analyzing Contributions from Software Repositories to Optimize Issue Assignment”, in 2020
IEEE International Conference on Software Quality, Reliability and Security (QRS), Vilnius, Lithuania,
July 2020.
4. Kyriakos C. Chatzidimitriou, Michail D. Papamichail, Themistoklis Diamantopoulos, Napoleon-Christos
Oikonomou and Andreas L. Symeonidis, “npm Packages as Ingredients: A Recipe-based Approach”, in 14th
International Conference on Software Technologies (ICSOFT), pp. 544-551, Prague, Czech Republic, July
2019.
5. Michail D. Papamichail, Themistoklis Diamantopoulos, Vasileios Matsoukas, Christos Athanasiadis and
Andreas L. Symeonidis, "Towards Extracting the Role and Behavior of Contributors in Open-source
61
Θεσσαλονίκη |
16.06.2021
Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ
Μιχαήλ Δ. Παπαμιχαήλ
Σας ευχαριστώ πολύ!
ΕΡΩΤΗΣΕΙΣ

More Related Content

Similar to ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ

Salavasidis Petros (2013) - Methodology for solving exercises on the IP fragm...
Salavasidis Petros (2013) - Methodology for solving exercises on the IP fragm...Salavasidis Petros (2013) - Methodology for solving exercises on the IP fragm...
Salavasidis Petros (2013) - Methodology for solving exercises on the IP fragm...Πέτρος Σαλαβασίδης
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
 
Moodle and Science education a case study in secondary school in Greece
Moodle and Science education a case study in secondary school in GreeceMoodle and Science education a case study in secondary school in Greece
Moodle and Science education a case study in secondary school in GreeceGeorge Chalatzoglidis
 
ΜΗΧΑΝΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ ΜΟΝΟΓΡΑΦΙΑ ΕΠΑΓΓΕΛΜΑΤΟΣ
ΜΗΧΑΝΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ ΜΟΝΟΓΡΑΦΙΑ ΕΠΑΓΓΕΛΜΑΤΟΣΜΗΧΑΝΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ ΜΟΝΟΓΡΑΦΙΑ ΕΠΑΓΓΕΛΜΑΤΟΣ
ΜΗΧΑΝΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ ΜΟΝΟΓΡΑΦΙΑ ΕΠΑΓΓΕΛΜΑΤΟΣAnastasia Petraki
 
Εισαγωγή στις Aρχές της Eπιστήμης των H/Y
Εισαγωγή στις Aρχές της Eπιστήμης των H/YΕισαγωγή στις Aρχές της Eπιστήμης των H/Y
Εισαγωγή στις Aρχές της Eπιστήμης των H/YVassilis Efopoulos
 
Εκπαιδευτικό Λογισμικό Ανοικτού Κώδικα
Εκπαιδευτικό Λογισμικό Ανοικτού ΚώδικαΕκπαιδευτικό Λογισμικό Ανοικτού Κώδικα
Εκπαιδευτικό Λογισμικό Ανοικτού ΚώδικαVasilis Drimtzias
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
ΓεροκώσταISSEL
 
Σύγχρονες προσεγγίσεις στη διδακτική μεθοδολογία και τπε
Σύγχρονες προσεγγίσεις στη διδακτική μεθοδολογία  και τπεΣύγχρονες προσεγγίσεις στη διδακτική μεθοδολογία  και τπε
Σύγχρονες προσεγγίσεις στη διδακτική μεθοδολογία και τπεEllh
 
Infotronia: Χρήση των αρχών του STEM σε τομείς ειδίκευσης του Επαγγελματικού ...
Infotronia: Χρήση των αρχών του STEM σε τομείς ειδίκευσης του Επαγγελματικού ...Infotronia: Χρήση των αρχών του STEM σε τομείς ειδίκευσης του Επαγγελματικού ...
Infotronia: Χρήση των αρχών του STEM σε τομείς ειδίκευσης του Επαγγελματικού ...gkapsid
 
ρομποτικοι προσομοιωτες
ρομποτικοι προσομοιωτεςρομποτικοι προσομοιωτες
ρομποτικοι προσομοιωτεςchristares
 
Elpida Falara
Elpida FalaraElpida Falara
Elpida FalaraISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Το Πανεπιστήμιο Πατρών παράγων ανάπτυξης της Δυτικής Ελλάδας
Το Πανεπιστήμιο Πατρών παράγων ανάπτυξης της Δυτικής ΕλλάδαςΤο Πανεπιστήμιο Πατρών παράγων ανάπτυξης της Δυτικής Ελλάδας
Το Πανεπιστήμιο Πατρών παράγων ανάπτυξης της Δυτικής ΕλλάδαςNikolaos Avouris
 
METIS D3.4: Τελικά πακέτα εργαστηρίων: εργαστήρια για διαφορετικά επίπεδα εκπ...
METIS D3.4: Τελικά πακέτα εργαστηρίων: εργαστήρια για διαφορετικά επίπεδα εκπ...METIS D3.4: Τελικά πακέτα εργαστηρίων: εργαστήρια για διαφορετικά επίπεδα εκπ...
METIS D3.4: Τελικά πακέτα εργαστηρίων: εργαστήρια για διαφορετικά επίπεδα εκπ...METIS-project
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...ISSEL
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...ISSEL
 
Αξιολόγηση του εκπαιδευτικού λογισμικού "Ταξίδι σε ένα Δίκτυο"- ΠΜΣ Πληροφορι...
Αξιολόγηση του εκπαιδευτικού λογισμικού "Ταξίδι σε ένα Δίκτυο"- ΠΜΣ Πληροφορι...Αξιολόγηση του εκπαιδευτικού λογισμικού "Ταξίδι σε ένα Δίκτυο"- ΠΜΣ Πληροφορι...
Αξιολόγηση του εκπαιδευτικού λογισμικού "Ταξίδι σε ένα Δίκτυο"- ΠΜΣ Πληροφορι...Georgia Kazakou
 
ΠΑΡΟΥΣΙΑΣΗ ΦΡΑΓΚΟΥΛΗΣ.pptx
ΠΑΡΟΥΣΙΑΣΗ ΦΡΑΓΚΟΥΛΗΣ.pptxΠΑΡΟΥΣΙΑΣΗ ΦΡΑΓΚΟΥΛΗΣ.pptx
ΠΑΡΟΥΣΙΑΣΗ ΦΡΑΓΚΟΥΛΗΣ.pptxssusera61980
 

Similar to ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ (20)

Salavasidis Petros (2013) - Methodology for solving exercises on the IP fragm...
Salavasidis Petros (2013) - Methodology for solving exercises on the IP fragm...Salavasidis Petros (2013) - Methodology for solving exercises on the IP fragm...
Salavasidis Petros (2013) - Methodology for solving exercises on the IP fragm...
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Moodle and Science education a case study in secondary school in Greece
Moodle and Science education a case study in secondary school in GreeceMoodle and Science education a case study in secondary school in Greece
Moodle and Science education a case study in secondary school in Greece
 
ΜΗΧΑΝΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ ΜΟΝΟΓΡΑΦΙΑ ΕΠΑΓΓΕΛΜΑΤΟΣ
ΜΗΧΑΝΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ ΜΟΝΟΓΡΑΦΙΑ ΕΠΑΓΓΕΛΜΑΤΟΣΜΗΧΑΝΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ ΜΟΝΟΓΡΑΦΙΑ ΕΠΑΓΓΕΛΜΑΤΟΣ
ΜΗΧΑΝΟΛΟΓΟΣ ΜΗΧΑΝΙΚΟΣ ΜΟΝΟΓΡΑΦΙΑ ΕΠΑΓΓΕΛΜΑΤΟΣ
 
Εισαγωγή στις Aρχές της Eπιστήμης των H/Y
Εισαγωγή στις Aρχές της Eπιστήμης των H/YΕισαγωγή στις Aρχές της Eπιστήμης των H/Y
Εισαγωγή στις Aρχές της Eπιστήμης των H/Y
 
Εκπαιδευτικό Λογισμικό Ανοικτού Κώδικα
Εκπαιδευτικό Λογισμικό Ανοικτού ΚώδικαΕκπαιδευτικό Λογισμικό Ανοικτού Κώδικα
Εκπαιδευτικό Λογισμικό Ανοικτού Κώδικα
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
Γεροκώστα
 
HOU-CS-UGP-2013-12-ΑΘΑΝΑΣΙΟΥ
HOU-CS-UGP-2013-12-ΑΘΑΝΑΣΙΟΥHOU-CS-UGP-2013-12-ΑΘΑΝΑΣΙΟΥ
HOU-CS-UGP-2013-12-ΑΘΑΝΑΣΙΟΥ
 
Σύγχρονες προσεγγίσεις στη διδακτική μεθοδολογία και τπε
Σύγχρονες προσεγγίσεις στη διδακτική μεθοδολογία  και τπεΣύγχρονες προσεγγίσεις στη διδακτική μεθοδολογία  και τπε
Σύγχρονες προσεγγίσεις στη διδακτική μεθοδολογία και τπε
 
Infotronia: Χρήση των αρχών του STEM σε τομείς ειδίκευσης του Επαγγελματικού ...
Infotronia: Χρήση των αρχών του STEM σε τομείς ειδίκευσης του Επαγγελματικού ...Infotronia: Χρήση των αρχών του STEM σε τομείς ειδίκευσης του Επαγγελματικού ...
Infotronia: Χρήση των αρχών του STEM σε τομείς ειδίκευσης του Επαγγελματικού ...
 
ρομποτικοι προσομοιωτες
ρομποτικοι προσομοιωτεςρομποτικοι προσομοιωτες
ρομποτικοι προσομοιωτες
 
Elpida Falara
Elpida FalaraElpida Falara
Elpida Falara
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Το Πανεπιστήμιο Πατρών παράγων ανάπτυξης της Δυτικής Ελλάδας
Το Πανεπιστήμιο Πατρών παράγων ανάπτυξης της Δυτικής ΕλλάδαςΤο Πανεπιστήμιο Πατρών παράγων ανάπτυξης της Δυτικής Ελλάδας
Το Πανεπιστήμιο Πατρών παράγων ανάπτυξης της Δυτικής Ελλάδας
 
METIS D3.4: Τελικά πακέτα εργαστηρίων: εργαστήρια για διαφορετικά επίπεδα εκπ...
METIS D3.4: Τελικά πακέτα εργαστηρίων: εργαστήρια για διαφορετικά επίπεδα εκπ...METIS D3.4: Τελικά πακέτα εργαστηρίων: εργαστήρια για διαφορετικά επίπεδα εκπ...
METIS D3.4: Τελικά πακέτα εργαστηρίων: εργαστήρια για διαφορετικά επίπεδα εκπ...
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis Presentation
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...
 
Αξιολόγηση του εκπαιδευτικού λογισμικού "Ταξίδι σε ένα Δίκτυο"- ΠΜΣ Πληροφορι...
Αξιολόγηση του εκπαιδευτικού λογισμικού "Ταξίδι σε ένα Δίκτυο"- ΠΜΣ Πληροφορι...Αξιολόγηση του εκπαιδευτικού λογισμικού "Ταξίδι σε ένα Δίκτυο"- ΠΜΣ Πληροφορι...
Αξιολόγηση του εκπαιδευτικού λογισμικού "Ταξίδι σε ένα Δίκτυο"- ΠΜΣ Πληροφορι...
 
ΠΑΡΟΥΣΙΑΣΗ ΦΡΑΓΚΟΥΛΗΣ.pptx
ΠΑΡΟΥΣΙΑΣΗ ΦΡΑΓΚΟΥΛΗΣ.pptxΠΑΡΟΥΣΙΑΣΗ ΦΡΑΓΚΟΥΛΗΣ.pptx
ΠΑΡΟΥΣΙΑΣΗ ΦΡΑΓΚΟΥΛΗΣ.pptx
 

More from ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...ISSEL
 

More from ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...
 

ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ

  • 1. 1 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Επιβλέπων: Συμεωνίδης Ανδρέας Αναπληρωτής Καθηγητής Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών ΠΑΡΟΥΣΙΑΣΗ - ΥΠΟΣΤΗΡΙΞΗ ΔΙΔΑΚΤΟΡΙΚΗΣ ΔΙΑΤΡΙΒΗΣ
  • 2. 2 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Περιεχόμενα  Εισαγωγή  Σκοπός και συνεισφορά στο πεδίο της Ποιότητας Λογισμικού  Μηχανισμός Αποτίμησης Διατηρησιμότητας  Προτεινόμενο Μοντέλο  Κατάρτιση Σετ Δεδομένων Αναφοράς  Διατηρησιμότητα με βάση την Εξέλιξη στο Χρόνο (επίπεδο πακέτου)  Διατηρησιμότητα με βάση το Βαθμό Αποδοχής (επίπεδο κλάσης)  Αναγνωσιμότητα ως Δείκτης Διατηρησιμότητας (επίπεδο μεθόδου)  Πρακτική εφαρμογή διαδικασίας Αποτίμησης Διατηρησιμότητας.
  • 3. 3 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Εισαγωγή
  • 4. 4 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Τεχνολογία Λογισμικού σήμερα… (1/2)  Το λογισμικό πρωταγωνιστεί σε κάθε τομέα της καθημερινότητας  “Κάθε επιχείρηση είναι μια επιχείρηση λογισμικού” (Watts S. Humphrey)  Σύμφωνα με τον Roger S. Pressman, το λογισμικό έχει διττό ρόλο 1.Αποτελεί το τελικό προϊόν 2.Αποτελεί το μέσο για την ανάπτυξη και παράδοση όλων των υπολοίπων προϊόντων Αποτελούν τα έργα λογισμικού σήμερα «success stories» ?
  • 5. 5 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Τεχνολογία Λογισμικού σήμερα… (2/2)  Ραγδαία Εξέλιξη σε Πολυάριθμους Άξονες  Αρχιτεκτονικές  Διαδικασίες και Εργαλεία Ανάπτυξης Λογισμικού  Γλώσσες Προγραμματισμού και Βιβλιοθήκες ΟΜΩΣ1,2  1/3 έργα λογισμικού θεωρούνται πετυχημένα  >50% δεν ανταποκρίνονται στο χρονοδιάγραμμα/κόστος  >40% εγκαταλείπονται $250Bn/έτο ς (ΗΠΑ) 1https://www.standishgroup.com/ 2https://hennyportman.wordpress.com/2021/01/06/review-standish-group-chaos-2020- beyond-infinity/
  • 6. 6 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Ποιότητα Λογισμικού  Ποιότητα Λογισμικού: “η δυνατότητα του υπό ανάπτυξη συστήματος να ανταποκρίνεται στις προδιαγραφές που έχουν τεθεί”  Υιοθέτηση Μηχανισμών Παρακολούθησης Ποιότητας:  Εξοικονόμηση χρόνου και πόρων για την ανάπτυξη και συντήρηση του λογισμικού  Αναγνώριση χαρακτηριστικών του προϊόντος και βελτιστοποίηση της ιεράρχησης προτεραιοτήτων  Βελτιστοποίηση του τρόπου διαχείρισης της ομάδας ανάπτυξης λογισμικού
  • 7. 7 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Μοντέλα Ποιότητας Λογισμικού “Μια επιστήμη είναι τόσο ώριμη, όσο ώριμα είναι τα εργαλεία μετρήσεων που έχει”  Η ποιότητα λογισμικού αποτιμάται διαφορετικά από διαφορετικούς ανθρώπους και σχετίζεται άμεσα με το πεδίο εφαρμογής του κάθε έργου λογισμικού  Μοντέλα Ποιότητας Λογισμικού: Συστηματοποιημένος τρόπος ανάλυσης της γενικής έννοιας της ποιότητας σε μια σειρά από χαρακτηριστικά (Lois Pasteur)
  • 8. 8 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σκοπός και συνεισφορά στο πεδίο της Ποιότητας Λογισμικού
  • 9. 9 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σκοπός Διδακτορικής Διατριβής  Αυτοματοποιημένη αποτίμηση του βαθμού διατηρησιμότητας έργων λογισμικού που πηγάζει από τα “ίδια τα δεδομένα” Αξιοποίηση πληροφορίας που εντοπίζεται στα αποθετήρια κώδικα Αξιοποίηση μοντέλων ποιότητας λογισμικού Χρήση τεχνικών εξόρυξης δεδομένων Κατασκευή μοντέλων που βασίζονται σε μετρικές κώδικα πηγάζει από τα ίδια τα δεδομένα
  • 10. 10 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Συνεισφορά στο πεδίο της Ποιότητας Λογισμικού Ανάπτυξη ενός ιεραρχικού μοντέλου αποτίμησης διατηρησιμότητας  Αυτοματοποιημένη μεθοδολογία αποτίμησης διατηρησιμότητας  Ανάλυση σε πολλαπλά επίπεδα  Δυνατότητα πρόβλεψης με βάση την εξέλιξη στο χρόνο  Ερμηνευσιμότητα αποτελεσμάτων και δυνατότητα παραμετροποιήσεων  Εύκολη και συνεχής επεκτασιμότητα
  • 11. 11 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Μηχανισμός Αποτίμησης Διατηρησιμότητας
  • 12. 12 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Προτεινόμενο Μοντέλο Αποτίμησης Διατηρησιμότητας Μετρική Ιδιότητα Κώδικα Χαρακτηριστικό Διατηρησιμότητα 𝑁 1 𝑀 𝑁
  • 13. 13 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σετ Δεδομένων Αναφοράς (1/2)  Ανάλυση μεγάλου αριθμού αποθετηρίων που χρησιμοποιούνται ως «πρότυπο»  Πληθοποριστική πληροφορία (stars, forks, used by) ως δείκτης διατηρησιμότητας  Μεγάλη διάρκεια στο χρόνο  Μεγάλος αριθμός releases  Μεγάλος αριθμός προγραμματιστών  Εφαρμογή κανόνων διασφάλισης ποιότητας
  • 14. 14 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σετ Δεδομένων Αναφοράς (2/2) Αποθετήρια Κώδικα Δεδομένα Τεχνολογίας Λογισμικού Στατική Ανάλυση GitHub GitLab BitBucket Maven npm Πολυπλοκότητα Σύζευξη Σχολιασμός Κληρονομικότητα Μέγεθος Συνοχή Παραβιάσεις Συγγραφής Πηγαίος Κώδικας Πληθοποριστική Πληροφορία Πληροφορία Εκδόσεων
  • 15. 15 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Κατάρτιση Σετ Δεδομένων Αναφοράς - Αρχιτεκτονική
  • 16. 16 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Πλεονεκτήματα  Εύκολη επεκτασιμότητα  Ενσωμάτωση νέων αποθετηρίων  Ενσωμάτωση νέων έργων λογισμικού  Μετρικές Ποιότητας / Ιδιότητες κώδικα  Κάλυψη διαφορετικών σχεδιαστικών αναγκών  Αντιμετώπιση υπολογιστικής πολυπλοκότητας  Συνεχής εμπλουτισμός με νέα πληροφορία
  • 17. 17 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αποτίμηση Διατηρησιμότητας με βάση το βαθμό Αποδοχής (Επίπεδο Κλάσης)
  • 18. 18 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σετ δεδομένων αναφοράς  Χρήση των 100 δημοφιλέστερων αποθετηρίων Java (stars/forks)  >100.000 κλάσεις  ~8 εκατομμύρια γραμμές κώδικα  Ανάλυση παραβιάσεων κώδικα  180 παραβιάσεις που ανήκουν σε 16 κατηγορίες (Basic, Comments, Naming, Design, Strings, κ.α.)  5 στάθμες σημαντικότητας [1 (περισσότερο σημαντική) – 5 (λιγότερο σημαντική)]  Παραβιάσεις με σημαντικότητα 1 και 2 βρέθηκαν μόνο για τις κατηγορίες Naming, Controversial και Design
  • 19. 19 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Διαμόρφωση Συνάρτησης Διατηρησιμότητας (1/2)  Ο αριθμός stars/forks αναφέρεται σε επίπεδο αποθετηρίου (και όχι κλάσης)  Δεν έχει κάθε κλάση την ίδια σημαντικότητα σε ένα αποθετήριο  Μεγάλες διαφορές στον αριθμό των stars και forks ανάμεσα στα αποθετήρια 6000 stars 3000 forks x1 stars x2 stars y1 forks y2 forks Βαθμός Διατηρησιμότητας Class A Class B Class A Class B
  • 20. 20 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Διαμόρφωση Συνάρτησης Διατηρησιμότητας (2/2) Για την j-οστή κλάση του i-οστού αποθετηρίου, ο βαθμός διατηρησιμότητας διαμορφώνεται ως εξής: ΒαθμόςΔιατ𝜂𝜌𝜂𝜎𝜄𝜇ό𝜏𝜂𝜏𝛼𝜍 𝑖, 𝑗 = log 𝑆𝑠𝑡𝑎𝑟𝑠 𝑖, 𝑗 + 𝑆𝑓𝑜𝑟𝑘𝑠 𝑖, 𝑗 𝑆𝑠𝑡𝑎𝑟𝑠 𝑖, 𝑗 = 1 + 𝑁𝑃𝑀 𝑗 𝑆𝑡𝑎𝑟𝑠(𝑖) 𝑁𝑐𝑙𝑎𝑠𝑠𝑒𝑠(𝑖) 𝑆𝑓𝑜𝑟𝑘𝑠 𝑖, 𝑗 = 1 + 𝐴𝐷 𝑗 + 𝑁𝑀 𝑗 𝐹𝑜𝑟𝑘𝑠(𝑖) 𝑁𝑐𝑙𝑎𝑠𝑠𝑒𝑠(𝑖) Ίση αρχική συνεισφορά Συνεισφορά των μετρικών Παράγοντας Εξισορρόπηση ς NPM: Number of Public Methods AD: API Documentatio n NM: Number of Methods
  • 21. 21 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αρχιτεκτονική Συστήματος 100 δημοφιλέστερα αποθετήρια GitHub 100,000 κλάσεις Σετ Εκπαίδευση ς One Class SVM Διαμόρφωση κατωφλίου διατηρησιμότητας Βαθμός Διατηρησιμότητας ANNs models Συνάθροιση Σκορ Σετ Ελέγχου Στατική Ανάλυση Ανάλυση Χαρακτηριστικών Πληροφορία Αποθετηρίων Πολυπλοκότητα Σύζευξη Κληρονομικότητα Μέγεθος Συνοχή
  • 22. 22 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Ανάλυση Χαρακτηριστικών 0.8 0.6 0.4 0.2 0.0 TNG TNM TNPM NOC NOD CBOI NII AD CD TCD NA. NPA TNA TNPA TNLA TNLPA NLA NLPA NOP DIT NOA McCC NL NLE NLG NLS WMC RFC CBO NOI LOC LLOC NOS NM NPM TNS NG NS PDA TCLOC CLOC DLOC PUA NLM NLPM LCOM5 NUMPAR TNLG TNLS TNLM TNLPM TLOC TLLOC TNOS Distance 12 PCs 82,8% της πληροφορίας LCOM5 NL … WMC LCOM5 0 0.72 0.39 NL 0.72 0 0.53 … … WMC 0.39 0.53 0 Ανάλυση Κυρίων Συνιστωσών Πίνακας Μετασχηματισμού Ιεραρχική Ομαδοποίηση Επιλογή μιας μετρικής ανά ομάδα (15 στο σύνολο)
  • 23. 23 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Μοντέλα Νευρωνικών Δικτύων Σετ Εκπαίδευσης Πολυπλοκότητα Σύζευξη Κληρονομικότητα Σχολιασμός Μέγεθος PCA PCA PCA PCA PCA Επιλογή Μετρικών
  • 24. 24 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Ανάλυση Χαρακτηριστικών -0.55 -0.50 -0.45 -0.40 -0.8 -0.4 0.0 0.4 PC1 PC2 NL NLE WMC McCC Μετρικές Πολυπλοκότητας NL, NLE, WMC, McCC PCA Τελική Επιλογή NL, WMC, McCC
  • 25. 25 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Εκπαίδευση ΑΝΝs  10-fold cross- validation  Σφάλμα 11,35% στο σετ εκπαίδευσης και 8,79% στο σετ ελέγχου Ιδιότητα Βάρος Πολυπλοκότητα 0,207 Σύζευξη 0,210 Σχολιασμός 0,197 Κληρονομικότητα 0,177 Μέγεθος 0,208
  • 26. 26 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Εμπλουτίζοντας την πληθοποριστική πληροφορία…  Μέτρηση του πραγματικού βαθμού επαναχρησιμοποίησης των έργων λογισμικού (reuse rate)  Χρήση της Μηχανής Αναζήτησης Κώδικα AGORA :  Υποστηρίζει την εύρεση κώδικα με βάση τη σύνταξη (syntax aware recommendations)  Ενσωματώνει περισσότερα από 3.000 Java αποθετήρια  Παρέχει REST API  Δυνατότητα υπολογισμού του αριθμού των επαναχρησιμοποιήσεων για κάθε κλάση 1 1 τμήμα της διδακτορικής διατριβής του Δρ. Θεμιστοκλή Διαμαντόπουλου (Διαθέσιμη στο σύνδεσμο: http://agora.ee.auth.gr )
  • 27. 27 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Υπολογισμός Reuse Rate Χρήση των code imports
  • 28. 28 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση  Η προτεινόμενη προσέγγιση αξιολογήθηκε στους παρακάτω άξονες:  Δυνατότητα διαχωρισμού των κλάσεων που ανταποκρίνονται σε συγκεκριμένες προδιαγραφές διατηρησιμότητας  Αποτίμηση συνολικού βαθμού διατηρησιμότητας  Επισκόπηση των τιμών των μετρικών για κάθε ιδιότητα που οδηγούν σε χαμηλά και μεγάλα σκορ διατηρησιμότητας
  • 29. 29 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση – One Class Classifier 69.72% 77.72% 49.29% 93.89% 85.76% 56.46% 77.20% 87.55% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% WarningInfo Clone Cohesion Complexity Coupling Documentation Inheritance Size Ποσοστό μειωμένων παραβιάσεων (ανά κατηγορία) ανάμεσα στις αποδεκτές και απορριπτέες κλάσεις
  • 30. 30 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση – Βαθμός Διατηρησιμότητας Πολυπλοκότητα Μετρική Ελάχιστ η Τιμή Μέγιστη Τιμή Κλάση με ψηλό Σκορ Κλάση με χαμηλό Σκορ McCC 1 71 2.3 8.5 WMC 0 741 6 8 NL 0 22 1 15 Βαθμός Σχολιασμού Μετρική Ελάχιστ η Τιμή Μέγιστη Τιμή Κλάση με ψηλό Σκορ Κλάση με χαμηλό Σκορ AD 1 100% 100% 4,12% CD 0 100% 31,03% 2,32% CLOC 0 1487 45 17
  • 31. 31 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Διατηρησιμότητα με βάση την Εξέλιξη στο Χρόνο (Επίπεδο Πακέτου)
  • 32. 32 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Επισκόπηση  Η μη δυνατότητα διαχείρισης του τεχνικού χρέους αποτελεί πρωταρχικό παράγοντα αποτυχίας των έργων λογισμικού.  Ο εντοπισμός των προβλημάτων δεν είναι αρκετός:  Αριθμός/Σημαντικότητα αλλαγών  Ανθρωποπροσπάθεια  Κόστος ανάπτυξης λογισμικού Μηχανισμοί Πρόβλεψης σε Προγενέστερο Στάδιο
  • 33. 33 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Εξέλιξη Μετρικών Στατικής Ανάλυσης Κύκλος Ζωής: Περίοδος από την πρώτη έκδοση που εμφανίζεται το πακέτο μέχρι την έκδοση που καταργήθηκε  Ανάλυση σε επίπεδο έκδοσης  Υπολογισμός γραμμικών τάσεων
  • 34. 34 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σετ δεδομένων αναφοράς  Ανάλυση των 127 εκδόσεων του έργου elasticsearch (περισσότερες από 50 εκατομμύρια γραμμές κώδικα) Το έργο elasticsearch:  Μεγάλο μέγεθος και αυξημένη πολυπλοκότητα  Κύκλος ζωής που ξεπερνά τα 10 χρόνια  Συνεχής εισαγωγή νέων απαιτήσεων (2,5 χιλιάδες ανοιχτά issues)  Μεγάλος αριθμός contributors (περισσότεροι από 1.000)  Περισσότερα από 1.500 πακέτα/έκδοση
  • 35. 35 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Ορίζοντας τη μη-διατηρησιμότητα  Εύρεση πακέτων που έχουν καταργηθεί από το αποθετήριο Η κατάργηση πακέτων δεν σχετίζεται απαραίτητα με το βαθμό διατηρησιμότητας Κριτήρια επιλογής:  Επιλογή μόνο των πακέτων με κύκλο ζωής τουλάχιστον 3 εκδόσεις (Αφαίρεση των «one-off» πακέτων)  Επιλογή μόνο των πακέτων με τουλάχιστον μια μετρική με τάση που επηρεάζει αρνητικά το βαθμό διατηρησιμότητας  Εφαρμογή τεχνικών εύρεσης όμοιων τμημάτων κώδικα (code clones detection) για απόρριψη πακέτων που έχουν μετονομαστεί ΟΜΩΣ
  • 36. 36 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Κατασκευή Μοντέλων  Κατασκευή 4 SVMs ταξινομητών μίας κλάσης (1 για κάθε ιδιότητα -πολυπλοκότητα, σύζευξη, συνοχή, κληρονομικότητα)  Χρήση των γραμμικών τάσεων των μετρικών για τα πακέτα που αναγνωρίστηκαν ως μη διατηρήσιμα  Grid-search με στόχο την εύρεση των βέλτιστων τιμών για τις παραμέτρους nu, gamma και cost Πολυπλοκότητα Σύζευξη Κληρονομικότητα Υπολογισμός Γραμμικών Τάσεων Συνοχή Μ1 Μ2 Μ3 Μ4 Βαθμός Διατηρησιμότητας
  • 37. 37 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση  Η προτεινόμενη προσέγγιση αξιολογήθηκε στους παρακάτω άξονες:  Δυνατότητα εντοπισμού μη διατηρήσιμων πακέτων σε συνδυασμό με την αιτία της μη-διατηρησιμότητας  Εντοπισμός μη-διατηρήσιμων πακέτων σε πρώιμο στάδιο
  • 38. 38 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση - Εντοπισμός μη διατηρήσιμων πακέτων Αποθετήριο Sensitivity Libgdx 93,67% Apache Struts 72,72% Hibernate 81,37% Spring Framework 83,46%
  • 39. 39 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση – Πρόβλεψη σε πρώιμο στάδιο  Ανάλυση κάθε έκδοσης λαμβάνοντας υπόψη μόνο τις προηγούμενες  Ποσοστό σωστών προβλέψεων που κυμαίνεται από 55,87% μέχρι 72,58% του κύκλου ζωής
  • 40. 40 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αναγνωσιμότητα ως Δείκτης Διατηρησιμότητας (Επίπεδο Μεθόδου)
  • 41. 41 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Επισκόπηση  Η κατανόηση του πηγαίου κώδικα αποτελεί μια από τις πιο χρονοβόρες διαδικασίες στα πλαίσια της διατήρησης έργων λογισμικού  Αναγνωσιμότητα: Η ευκολία ενός αναγνώστη να κατανοήσει ένα γραπτό κείμενο Η κατανόηση του πηγαίου κώδικα εμπεριέχει πολλά περισσότερα πέραν της κατανόησης της σύνταξης μιας γλώσσας προγραμματισμού:  Σκοπός και σχεδιαστικοί στόχοι του έργου λογισμικού  Έλεγχος ροής  Λειτουργικότητα σε πολλαπλά επίπεδα (γραμμή κώδικα/μέθοδος/κλάση/υποσύστημα)
  • 42. 42 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σετ δεδομένων αναφοράς  1.000.000 μέθοδοι που περιλαμβάνονται στα δημοφιλέστερα GitHub Java αποθετήρια  Στατική ανάλυση σε επίπεδο μεθόδου  Πολυπλοκότητα  Σύζευξη  Σχολιασμός  Μέγεθος  Παραβιάσεις συγγραφής κώδικα Ποσότητα Τιμή Αριθμός αποθετηρίων 308 Αριθμός μεθόδων 1.004.589 Γραμμές Κώδικα 9.003.547 Αριθμός μετρικών 21 Αριθμός παραβιάσεων 193
  • 43. 43 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σύστημα που υλοποιήθηκε Ομαδοποίηση με βάση το Μέγεθος Μικρό Μετρικές Στατικής Ανάλυσης Παραβιάσεις Κώδικα Μεσαίο Μεγάλο Μοντέλα Αποτίμησης Αναγνωσιμότητας Πολυπλοκότητα Αποτίμηση Αναγνωσιμότητας Σχολιασμός Σύζευξη
  • 44. 44 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Ομαδοποίηση  Αφαίρεση μεθόδων με λιγότερες από 3 γραμμές κώδικα (setters/getters) και με περισσότερες από 300 γραμμές κώδικα  Χρήση του kMeans για ομαδοποίηση με βάση το μέγεθος Ομάδα Αριθμός Μεθόδων Εύρος LOC Μέσο Silhouette #1 499.858 (68,29%) [1, 10] 0.76 #2 166.496 (22,74%) [11, 24] 0.52 #3 51.964 (7,09%) [25, 51] 0.51 #4 11.925 (1,62%) [52, 112] 0.51 #5 1.718 (0,23%) > 112 0.69
  • 45. 45 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Βαθμός αναγνωσιμότητας  Βαθμός αναγνωσιμότητας μιας μεθόδου (i) δίνεται: 1 − 𝑁𝑜𝑟𝑚𝑒𝑑{ 𝑤1 ∗ 𝑁𝑚𝑖𝑛𝑜𝑟(𝑖) + 𝑤2 ∗ 𝑁𝑚𝑎𝑗𝑜𝑟(𝑖) + 𝑤3 ∗ 𝑁𝑐𝑟𝑖𝑡𝑖𝑐𝑎𝑙(𝑖) 𝐿𝐿𝑂𝐶(𝑖) }  Διαμόρφωση των βαρών με βάση τη σημαντικότητα της κάθε παραβίασης
  • 46. 46 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Κατασκευή Μοντέλων  Χρήση SVR για την εκπαίδευση 9 μοντέλων (1 για κάθε ιδιότητα και κάθε ομάδα)  Διαχωρισμός 80/20 ανάμεσα στα σετ εκπαίδευσης και ελέγχου  Grid-search με στόχο την εύρεση των παραμέτρων gamma, tolerance και C. Ομάδα Κατηγορία ΜΑΕ (Train/Test) #1 Πολυπλοκότητα 6,60% / 6,53% Σύζευξη 8,67% / 8,30% Σχολιασμός 8,46% / 8,36% #2 Πολυπλοκότητα 5,52% / 7,11% Σύζευξη 7,25% / 7,38% Σχολιασμός 7,09% / 7,19% #3 Πολυπλοκότητα 6,53% / 8,68% Σύζευξη 9,29% / 10,17% Σχολιασμός 7,12% / 8,94%
  • 47. 47 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση  Η προτεινόμενη προσέγγιση αξιολογήθηκε στους παρακάτω άξονες:  Απόδοση του συστήματος στην αξιολόγηση μιας σειράς από έργα λογισμικού με διαφορετικά χαρακτηριστικά  Εφαρμογή των συστάσεων στην πράξη για τη βελτίωση της αναγνωσιμότητας μιας μεθόδου
  • 48. 48 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση – Απόδοση Συστήματος Αποθετήριο Αριθμός Μεθόδων Σκορ #1 20,803 66.52% #2 2,004 63.73% #3 916 60.41% #4 1,411 56.26% #5 127 62.20%
  • 49. 49 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αξιολόγηση – Εφαρμογή Συστάσεων Αρχική Μορφή Τελική Μορφή Πολυπλοκότητα: 47% Σχολιασμός: 5% Πολυπλοκότητα: 83% Σχολιασμός: 96%
  • 50. 50 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Πρακτική εφαρμογή διαδικασίας αποτίμησης διατηρησιμότητας
  • 51. 51 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Επισκόπηση  Εφαρμογή του προτεινόμενου μοντέλου αποτίμησης διατηρησιμότητας σε έργα λογισμικού διαχείρισης πολυμέσων  Δημιουργία του κατάλληλου σετ δεδομένων αναφοράς που περιλαμβάνει όλα τα JAVA έργα λογισμικού διαχείρισης πολυμέσων που περιέχονται στα 1.000 δημοφιλέστερα αποθετήρια του GitHub (114 έργα)  Ανάλυση ~2,5 εκατομμυρίων γραμμών κώδικα για τη μοντελοποίηση σε επίπεδο κλάσης (114 έργα)  Ανάλυση της εξέλιξης 10 έργων με στόχο την εκπαίδευση των μοντέλων πρόβλεψης μη-διατηρησιμότητας σε επίπεδο πακέτου.
  • 52. 52 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αποτελέσματα Εφαρμογής (1/2)  Παρόμοια αποτελέσματα με τα μοντέλα γενικής χρήσης (γενική συμπεριφορά)  Επιτυχής μοντελοποίηση των ιδιαίτερων χαρακτηριστικών
  • 53. 53 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Αποτελέσματα Εφαρμογής (2/2)  Παρόμοια αποτελέσματα προγενέστερων προβλέψεων με τα μοντέλα γενικής χρήσης
  • 54. 54 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Συμπεράσματα και προτάσεις για Μελλοντική Έρευνα
  • 55. 55 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Συμπεράσματα  Δυνατότητα πλήρους αυτοματοποίησης της διαδικασίας αποτίμησης του βαθμού διατηρησιμότητας  Κατάρτιση σετ δεδομένων αναφοράς  Χρήση μεγάλου αριθμού μετρικών ποιότητας  Συνεχής εμπλουτισμός με ενσωμάτωση περισσότερων αποθετηρίων  Δυνατότητα πρόβλεψης μη-διατηρησιμότητας σε προγενέστερο στάδιο  Μελέτη της εξέλιξης των τιμών των μετρικών  Δυνατότητα παροχής ερμηνεύσιμων αποτελεσμάτων  Ιεραρχική δομή μοντέλου αποτίμησης διατηρησιμότητας
  • 56. 56 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Προτάσεις για Μελλοντική Έρευνα  Ενσωμάτωση περισσότερων αποθετηρίων/πληθοποριστικών μετρικών και μετρικών ποιότητας  Περεταίρω έρευνα στην εξέλιξη των τιμών των μετρικών στατικής ανάλυσης με την ενσωμάτωση μη γραμμικών τάσεων  Εφαρμογή τεχνικών ομαδοποίησης για την ανάλυση των ιδιαίτερων χαρακτηριστικών έργων λογισμικού με διαφορετικό πεδίο εφαρμογής  Ενσωμάτωση μετρικών που προέρχονται από την ομάδα παραγωγής λογισμικού στη διαδικασία αποτίμησης διατηρησιμότητας  Εύρεση συσχετίσεων των ευρημάτων με δεδομένα που προέρχονται από τη δυναμική σε περιβάλλον χρήσης
  • 57. 57 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Λίστα Δημοσιεύσεων
  • 58. 58 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σχετικές Δημοσιεύσεις (1/2) Άρθρα σε Περιοδικά: 1. Michail D. Papamichail, Themistoklis Diamantopoulos and Andreas L. Symeonidis, “Measuring the Reusability of Software Components using Static Analysis Metrics and Reuse Rate Information”, in Journal of Systems and Software, vol. 158, pp. 110423, December 2019. 2. Michail D. Papamichail, Themistoklis Diamantopoulos and Andreas L. Symeonidis, “Software Reusability Dataset based on Static Analysis Metrics and Reuse Rate Information”, in Data in Brief, vol. 27, pp. 104687, December 2019. 3. Michail D. Papamichail, and Andreas L. Symeonidis, “A generic methodology for early identification of non- maintainable source code components through analysis of software releases”, in Information and Software Technology Journal, vol. 118, pp. 106218, November 2019. 4. Michail D. Papamichail, and Andreas L. Symeonidis, “Data-Driven Analytics towards Software Sustainability: The Case of Open-Source Multimedia Tools on Cultural Storytelling”, in Sustainability, vol. 13, January 2021. Κεφάλαια σε Βιβλία: 1. Valasia Dimaridou, Alexandros-Charalampos Kyprianidis, Michail D. Papamichail, Themistoklis Diamantopoulos and Andreas L. Symeonidis, “Assessing the User-Perceived Quality of Source Code Components using Static Analysis Metrics”, in Communications in Computer and Information Science (CCIS), vol. 868, pp. 3-27, June 2018. 2. Thomas Karanikiotis, Michail D. Papamichail, and Andreas L. Symeonidis, “Multilevel Readability Interpretation against Software Properties: A data-centric Approach”, in Communications in Computer and Information Science (CCIS), March 2021.
  • 59. 59 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σχετικές Δημοσιεύσεις (2/2) Εργασίες σε Πρακτικά Συνεδρίων: 1. Michail D. Papamichail, Themistoklis Diamantopoulos and Andreas L. Symeonidis, “User-Perceived Source Code Quality Estimation based on Static Analysis Metrics”, in 2016 IEEE International Conference on Software Quality, Reliability and Security (QRS), pp. 100-107, Vienna, Austria, August 2016. 2. Valasia Dimaridou, Alexandros-Charalampos Kyprianidis, Michail D. Papamichail, Themistoklis Diamantopoulos and Andreas L. Symeonidis, “Towards Modeling the User-perceived Quality of Source Code using Static Analysis Metrics”, in 12th International Conference on Software Technologies (ICSOFT), pp. 73-84, Madrid, Spain, July 2017. 3. Michail D. Papamichail, Themistoklis Diamantopoulos, Ilias Chrysovergis, Philippos Samlidis and Andreas L. Symeonidis, “User-Perceived Reusability Estimation based on Analysis of Software Repositories”, in 2018 IEEE International Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE), pp. 49-54, Campobasso, Italy, March 2018. 4. Kyriakos C. Chatzidimitriou, Michail D. Papamichail, Themistoklis Diamantopoulos, Michail Tsapanos, and Andreas L. Symeonidis, “npm-miner: An Infrastructure for Measuring the Quality of the npm Registry”, in IEEE/ACM 15th International Conference on Mining Software Repositories (MSR), pp. 42-45, Gothenburg, Sweden, May 2018. 5. Themistoklis Diamantopoulos, Michail D. Papamichail, Thomas Karanikiotis, Kyriakos C. Chatzidimitriou, and Andreas L. Symeonidis, “Employing Contribution and Quality Metrics for Quantifying the Software Development Process”, in IEEE/ACM 17th International Conference on Mining Software Repositories (MSR), Seoul, South Korea, May 2020. 6. Thomas Karanikiotis, Michail D. Papamichail, Ioannis Gonidelis, Dimitra Karatza, and Andreas L. Symeonidis, “A data-driven Methodology towards Interpreting Readability against Software Properties“, in 15th International Conference on Software Technologies (ICSOFT), Paris, France, July 2020.
  • 60. 60 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Άλλες Δημοσιεύσεις Άρθρα σε Περιοδικά: 1. Michail D. Papamichail, Kyriakos C. Chatzidimitriou, Thomas Karanikiotis, Napoleon-Christos Oikonomou, Andreas L. Symeonidis and Sashi K. Saripalle, “BrainRun: A Behavioral Biometrics Dataset towards Continuous Implicit Authentication”, in Data, vol. 4, num. 2, May 2019 Εργασίες σε Πρακτικά Συνεδρίων: 1. Kyriakos C. Chatzidimitriou, Michail D. Papamichail, Napoleon-Christos Oikonomou, D. Lampoudis, and Andreas L. Symeonidis, “Cenote: A Big Data Management and Analytics Infrastructure for the Web of Things”, in 2019 IEEE/WIC/ACM International Conference on Web Intelligence (WI)), pp. 282-285, Thessaloniki, Greece, October 2019. 2. Thomas Karanikiotis, Michail D. Papamichail, Kyriakos C. Chatzidimitriou, Napoleon-Christos I. Oikonomou, Andreas L. Symeonidis, and Sashi K. Saripalle, “Continuous Implicit Authentication through Touch Traces Modelling”, in 2020 IEEE International Conference on Software Quality, Reliability and Security (QRS), Vilnius, Lithuania, July 2020. 3. Vasileios Matsoukas, Themistoklis Diamantopoulos, Michail D. Papamichail, and Andreas L. Symeonidis, “Towards Analyzing Contributions from Software Repositories to Optimize Issue Assignment”, in 2020 IEEE International Conference on Software Quality, Reliability and Security (QRS), Vilnius, Lithuania, July 2020. 4. Kyriakos C. Chatzidimitriou, Michail D. Papamichail, Themistoklis Diamantopoulos, Napoleon-Christos Oikonomou and Andreas L. Symeonidis, “npm Packages as Ingredients: A Recipe-based Approach”, in 14th International Conference on Software Technologies (ICSOFT), pp. 544-551, Prague, Czech Republic, July 2019. 5. Michail D. Papamichail, Themistoklis Diamantopoulos, Vasileios Matsoukas, Christos Athanasiadis and Andreas L. Symeonidis, "Towards Extracting the Role and Behavior of Contributors in Open-source
  • 61. 61 Θεσσαλονίκη | 16.06.2021 Παρουσίαση – Υποστήριξη Διδακτορικής Διατριβής ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ ΤΗ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΔΕΔΟΜΕΝΩΝ Μιχαήλ Δ. Παπαμιχαήλ Σας ευχαριστώ πολύ! ΕΡΩΤΗΣΕΙΣ