Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγαίου κώδικα

ISSEL
ISSELISSEL
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Ανάπτυξη Συστήματος Πρόβλεψης της
εξέλιξης των Μετρικών Στατικών Ανάλυσης
πηγαίου κώδικα
Διπλωματική Εργασία
Εκπόνηση:
Μέτα Λουίς
9390
Επίβλεψη:
Καθηγητής Ανδρέας Συμεωνίδης
Υποψήφιος Διδάκτορας Θωμάς Καρανικιώτης
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Διάρθρωση Παρουσίασης
● Εισαγωγή
● Σκοπός Διπλωματικής Εργασίας
● Μεθοδολογία
○ Συλλογή δεδομένων
○ Προεπεξεργασία δεδομένων
○ Υλοποιήσεις
● Αποτελέσματα & Αξιολόγηση
● Συμπεράσματα
● Μελλοντικές Επεκτάσεις
2
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Εισαγωγή
3
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Περιγραφή του προβλήματος
● Χρονοβόρα και κοστοβόρα διαδικασία αξιολόγησης της ποιότητας
του πηγαίου κώδικα των έργων λογισμικού
● Πολύπλοκα και μεγάλα σε μέγεθος έργα λογισμικού
● Ανάγκη για έλεγχο συντηρησιμότητας από την πλευρά του μηχανικού
αλλά και του πελάτη
● Στενά χρονικά περιθώρια για χρήση στατικών και δυναμικών
αναλύσεων στην ποιότητα του κώδικα
4
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Σκοπός Διπλωματικής Εργασίας
5
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Σκοπός Διπλωματικής Εργασίας
● Η πρόβλεψη των μετρικών στατικής ανάλυσης έγκαιρα για τον έλεγχο
της συντηρησιμότητας ενός έργου λογισμικού
● Η εξέταση των δικτύων μακράς βραχυπρόθεσμης μνήμης στην μελέτη
των μετρικών στατικής ανάλυσης του πηγαίου κώδικα σε επίπεδο
κλάσης
6
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Μεθοδολογία
7
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Συλλογή δεδομένων
Repositories: από τα δημοφιλέστερα έργα λογισμικού του GitHub (antlr4,
aws-sdk, grals-core). Εβδομαδιαίες μετρήσεις ανά κλάση για κάθε έργο.
Γλώσσα προγραμματισμού: Java
Κατηγορίες μετρικών στατικής ανάλυσης:
• πολυπλοκότητα (McCC, NL, NLE)
• συνοχή (LCOM5)
• σύζευξη (DIT, NOA, NOC, NOD, NOP)
• κληρονομικότητα (CBO, NII, NOI, RFC)
8
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Προεπεξεργασία δεδομένων (1)
Ground truth: οι μη συντηρίσιμες κλάσεις που έχουν κάποια στιγμή
εγκαταλειφθεί κατά την διάρκεια ανάπτυξης του έργου
Τάση: ανάλυση ως προς την θετική τους, αρνητική τους και ουδέτερη
τάση στον κύκλο ζωής της κλάσης με σκοπό να κρατηθούν όσες έχουν
τουλάχιστον μια μετρική με θετική τάση
Συνοχή των μετρήσεων
- κλάσεις που περιέχουν τουλάχιστον 40% του κύκλου ζωής
- χρονική μετατόπιση των μετρήσεων
- συμπλήρωση των μετρήσεων σε λογικές περιπτώσεις ελλείψεων
9
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Προεπεξεργασία δεδομένων (2)
Ομαλοποίηση των απότομων κορυφών: κριτήρια η διάρκεια τους, η
ποσοστιαία αλλαγή και ο βαθμός ομαλότητας
10
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Υλοποιήσεις (1)
11
Δίκτυο LSTM: περιέχει 4 πύλες (κελί, είσοδος, έξοδος, συγκράτησης
μνήμης) που αλληλεπιδρούν μεταξύ τους. Σχεδιάστηκε αρχικά η
παρακάτω εκδοχή:
- vanilla LSTM (1 LSTM επίπεδο)
- πλήθος νευρώνων ως αρχική παράμετρος
- συνάρτηση απωλειών την RMSE, βελτιστοποιητής Adam
- early stopping συνθήκη
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Υλοποιήσεις (2)
12
Δίκτυο LSTM: σχεδιάστηκαν 2 επιπλέον νέες εκδοχές των δικτύων LSTM
με στόχο την καλύτερη αξιοποίηση της μνήμης:
- LSTM με μνήμη μεταξύ των παρτίδων (1 LSTM επίπεδο)
- χρήση της παραμέτρου stateful = True για διατήρηση της μνήμης κατά την
εκπαίδευση
- LSTM με στοίβες μνήμης μεταξύ των παρτίδων (2 LSTM επίπεδα, 1
dropout επίπεδο)
- χρήση της παραμέτρου return_sequences = True για διατήρηση της μνήμης κατά
την εκπαίδευση μεταξύ των επιπέδων
- χρήση της μεθόδου model.reset_states() για την επαναφορά των πυλών την
σωστή στιγμή κατά την εκπαίδευση
- επίπεδο dropout με τιμή 0.2 για πρόληψη υπερ προσαρμογής στα δεδομένα
εκπαίδευσης
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Υλοποιήσεις (3)
13
Δίκτυο GRU: περιέχει 3 πύλες (κελί, ενημέρωση, επαναφορά) καθώς η
πύλη εισόδου και μνήμης συγχωνεύονται. Σχεδιάστηκε η παρακάτω
εκδοχή ως εναλλακτική προσέγγιση τους προβλήματος.
- 1 GRU επίπεδο
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Βελτιστοποιήσεις (1)
● Για κάθε υλοποίηση έγινε παραμετρική ανάλυση για το πλήθος των
νευρώνων στα επίπεδα τους μέσα από τις τιμές [4, 8, 16, 32, 64, 128]
● Αξιολόγηση αποτελεσμάτων με βάση την απόσταση των προβλέψεων
από τις πραγματικές τιμές (RMSE)
● Εφαρμογή τεχνικής παραθύρου με χρήση της παραμέτρου εισόδου
○ πλήθος μετρήσεων που δίνεται στο σύστημα ως είσοδος και πάνω σε αυτή
προσπαθεί να “μάθει” μοτίβα κατά την εκπαίδευση
○ ίδιο πλήθος μετρήσεων ως είσοδος για να γίνουν οι ζητούμενες προβλέψεις
● Διαχωρισμός δεδομένων (δεδομένα εκπαίδευσης, εισόδου και
αξιολόγησης)
14
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Βελτιστοποιήσεις (2)
15
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Βελτιστοποιήσεις (3)
16
Πλήθος νευρώνων 4 8 16 32 64 128
RMSE LSTM_v1 20.08 14.87 8.32 14.51 15.61 16.8
RMSE LSTM_v2 12.2 18.0 4.58 11.2 15.5 9.2
RMSE LSTM_v3 16.94 21.04 28.02 9.28 18.38 14.4
RMSE GRU 9.1 11.61 5.79 28.4 7.05 18.89
● Επιλογή νευρώνων στις υλοποιήσεις με βάση 100 πειράματα
πειράματα για παράμετρο το πλήθος νευρώνων
● Το πλήθος με την καλύτερη επίδοση επιλέχθηκε για χρήση στα
επόμενα πειράματα
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Αποτελέσματα & Αξιολόγηση
17
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Πειράματα για την παράμετρο εισόδου (1)
● Παραμετρική ανάλυση για την καταλληλότερη τιμή της παραμέτρου
εισόδου του συστήματος στο εύρος [1, 5, 10, 20, 30, 40] ως ποσοστά
από το πλήθος των μετρήσεων για την κλάση
● Μέση τιμή RMSE για 100 πειράματα με χρήση της LSTM_v3
18
look back % 1 5 10 20 30 40
RMSE 16.94 21.04 28.02 13.28 18.38 4.4
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Πειράματα για την παράμετρο εισόδου (2)
19
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Συγκριτικά αποτελέσματα
20
Μοντέλο
%
εκπαίδευσης % look back Μέση RMSE Χρ. Εκπαίδευσης (sec)
LSTM_v1
40
10 1.945 29.372
15 2.579 34.201
20 2.35 35.116
50
10 2.151 30.83
15 2.056 41.133
20 2.158 52.41
LSTM_v2
40
10 1.912 38.998
15 2.322 44.685
20 2.322 44.685
50
10 1.831 67.7
15 1.827 43.107
20 1.891 50.546
LSTM_v3
40
10 2.043 48.229
15 2.131 59.78
20 1.708 73.558
50
10 1.78 52.195
15 1.822 68.52
20 1.678 70.433
GRU
40
10 2.645 30.608
15 2.014 38.024
20 2.389 46.59
50
10 2.492 62.611
15 2.009 43.555
20 2.967 55.854
● Σύγκριση όλων των υλοποιήσεων
● Εύρος για δεδομένα εκπαίδευσης
[40, 50]
● Εύρος για δεδομένα παραμέτρου
look back [10, 15, 20]
● Συνολικά 100 πειράματα για το
καθένα
● Αξιολόγηση
○ Μέση RMSE
○ Χρόνος Εκπαίδευσης του δικτύου
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Ενδεικτικό παράδειγμα LSTM_v3
21
Παράδειγμα της LSTM_v3 για την πρόβλεψη σύζευξης και
κληρονομικότητας δύο κλάσεων
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Συμπεράσματα
22
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Συμπεράσματα
● Η καλύτερη υλοποίηση που εκμεταλλεύεται στον μεγαλύτερο βαθμό
την συγκράτηση μνήμης είναι η LSTM_v3
● Η υλοποίηση της GRU δεν πλεονεκτεί έναντι των LSTM γεγονός που
οφείλεται στην μια λιγότερη πύλη
● Η παράμετρος με την μεγαλύτερη επιρροή είναι η look back
● Ικανοποιητικές προβλέψεις μετρικών στατικής ανάλυσης σε ποσοστό
50% του κύκλου ζωής της κλάσης
23
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Μελλοντικές Επεκτάσεις
24
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Μελλοντικές Επεκτάσεις
● Πειράματα σε έργα που υλοποιούνται με άλλες γλώσσες
προγραμματισμού
● Μελέτη αυτόματης εφαρμογής σε αποθετήρια όπως το GitHub για να
γίνεται ανά τακτά χρονικά διαστήματα έλεγχος
● Συνεχής βελτιστοποίηση τμημάτων του συστήματος όπως τα επίπεδα,
οι βελτιστοποιητές κτλ.
25
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Ευχαριστώ για την προσοχή σας
26
Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των
Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα
03/04/2023
Ερωτήσεις;
27
1 of 27

Recommended

Γεροκώστα by
ΓεροκώσταΓεροκώστα
ΓεροκώσταISSEL
119 views33 slides
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ... by
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
53 views32 slides
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V... by
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
93 views32 slides
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ... by
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ISSEL
53 views25 slides
Understanding the importance of demographic background for the website aesth... by
Understanding the importance of demographic background  for the website aesth...Understanding the importance of demographic background  for the website aesth...
Understanding the importance of demographic background for the website aesth...ISSEL
105 views25 slides
Gougousis Dimitris: Development of an automated machine learning system for p... by
Gougousis Dimitris: Development of an automated machine learning system for p...Gougousis Dimitris: Development of an automated machine learning system for p...
Gougousis Dimitris: Development of an automated machine learning system for p...Manos Tsardoulias
63 views33 slides

More Related Content

Similar to Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγαίου κώδικα

Maria - Christina Maniou Diploma Thesis Presentation by
Maria - Christina Maniou Diploma Thesis PresentationMaria - Christina Maniou Diploma Thesis Presentation
Maria - Christina Maniou Diploma Thesis PresentationISSEL
101 views25 slides
Stelios poulakakis daktylidis diploma thesis presentation by
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationISSEL
237 views30 slides
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ... by
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...ISSEL
70 views44 slides
Αλεξάνδρα Μπαλτζή 7485 by
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485ISSEL
194 views32 slides
Melpomeni Seraki Diploma Thesis Presentation by
Melpomeni Seraki Diploma Thesis PresentationMelpomeni Seraki Diploma Thesis Presentation
Melpomeni Seraki Diploma Thesis PresentationISSEL
69 views22 slides
Anastasios Kakouris by
Anastasios KakourisAnastasios Kakouris
Anastasios KakourisISSEL
249 views52 slides

Similar to Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγαίου κώδικα(20)

Maria - Christina Maniou Diploma Thesis Presentation by ISSEL
Maria - Christina Maniou Diploma Thesis PresentationMaria - Christina Maniou Diploma Thesis Presentation
Maria - Christina Maniou Diploma Thesis Presentation
ISSEL101 views
Stelios poulakakis daktylidis diploma thesis presentation by ISSEL
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentation
ISSEL237 views
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ... by ISSEL
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
ISSEL70 views
Αλεξάνδρα Μπαλτζή 7485 by ISSEL
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
ISSEL194 views
Melpomeni Seraki Diploma Thesis Presentation by ISSEL
Melpomeni Seraki Diploma Thesis PresentationMelpomeni Seraki Diploma Thesis Presentation
Melpomeni Seraki Diploma Thesis Presentation
ISSEL69 views
Anastasios Kakouris by ISSEL
Anastasios KakourisAnastasios Kakouris
Anastasios Kakouris
ISSEL249 views
Συνεχής έμμεση αυθεντικοποίηση χρηστών κινητού τηλεφώνου με συνδυασμό των δεδ... by ISSEL
Συνεχής έμμεση αυθεντικοποίηση χρηστών κινητού τηλεφώνου με συνδυασμό των δεδ...Συνεχής έμμεση αυθεντικοποίηση χρηστών κινητού τηλεφώνου με συνδυασμό των δεδ...
Συνεχής έμμεση αυθεντικοποίηση χρηστών κινητού τηλεφώνου με συνδυασμό των δεδ...
ISSEL35 views
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi... by ISSEL
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
ISSEL25 views
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ... by ISSEL
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
ISSEL31 views
A rule-based approach for the real-time semantic annotation in context-aware ... by Nikolaos Konstantinou
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών... by Manos Tsardoulias
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Konstantinos Papadopoulos Diploma Thesis presenation by ISSEL
Konstantinos Papadopoulos Diploma Thesis presenationKonstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenation
ISSEL219 views
Οικονόμου Ναπολέων – Χρήστος by ISSEL
Οικονόμου Ναπολέων – ΧρήστοςΟικονόμου Ναπολέων – Χρήστος
Οικονόμου Ναπολέων – Χρήστος
ISSEL204 views
Μαρία Κουιρουκίδου by ISSEL
Μαρία ΚουιρουκίδουΜαρία Κουιρουκίδου
Μαρία Κουιρουκίδου
ISSEL146 views
VET4SBO Level 3 module 2 - unit 1 - v1.0 gr by Karel Van Isacker
VET4SBO Level 3   module 2 - unit 1 - v1.0 grVET4SBO Level 3   module 2 - unit 1 - v1.0 gr
VET4SBO Level 3 module 2 - unit 1 - v1.0 gr
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ... by ISSEL
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
ISSEL356 views
Μιλτιάδης Σιάββας 7523 by ISSEL
Μιλτιάδης Σιάββας 7523Μιλτιάδης Σιάββας 7523
Μιλτιάδης Σιάββας 7523
ISSEL205 views
Νικόλαος Κατιρτζής 7185 by ISSEL
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
ISSEL134 views

More from ISSEL

Camera-based localization of annotated objects in indoor environments by
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
12 views38 slides
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ... by
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
6 views38 slides
Design and implementation of an automation mechanism to automatically develop... by
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
4 views17 slides
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ... by
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
6 views17 slides
Static Analysis of Python code and Identification of Potential Security Vulne... by
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
7 views16 slides
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ... by
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...ISSEL
26 views27 slides

More from ISSEL(20)

Camera-based localization of annotated objects in indoor environments by ISSEL
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
ISSEL12 views
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ... by ISSEL
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
ISSEL6 views
Design and implementation of an automation mechanism to automatically develop... by 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...
ISSEL4 views
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ... by ISSEL
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ISSEL6 views
Static Analysis of Python code and Identification of Potential Security Vulne... by 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...
ISSEL7 views
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ... by ISSEL
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
ISSEL26 views
Design and Development of an Authorization and Access Control Mechanism for C... by ISSEL
Design and Development of an Authorization and Access Control Mechanism for C...Design and Development of an Authorization and Access Control Mechanism for C...
Design and Development of an Authorization and Access Control Mechanism for C...
ISSEL13 views
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο... by ISSEL
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
ISSEL19 views
Analysis and profiling of developer profiles using data mining techniques fro... by ISSEL
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...
ISSEL3 views
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση... by ISSEL
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
ISSEL8 views
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM by ISSEL
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMTOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
ISSEL3 views
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ... by ISSEL
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ISSEL11 views
System Development for Prediction of Static Analysis Metrics of Source Code by ISSEL
System Development for Prediction of Static Analysis Metrics of Source CodeSystem Development for Prediction of Static Analysis Metrics of Source Code
System Development for Prediction of Static Analysis Metrics of Source Code
ISSEL6 views
Micro Front-ends and Microservices Architecture in Web Application Development by ISSEL
Micro Front-ends and Microservices Architecture in Web Application DevelopmentMicro Front-ends and Microservices Architecture in Web Application Development
Micro Front-ends and Microservices Architecture in Web Application Development
ISSEL8 views
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ... by ISSEL
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
ISSEL19 views
Indoor localization using wireless networks by ISSEL
Indoor localization using wireless networksIndoor localization using wireless networks
Indoor localization using wireless networks
ISSEL5 views
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων by ISSEL
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύωνΕντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων
ISSEL10 views
Design and implementation of a big data architecture for storage, real-time p... by ISSEL
Design and implementation of a big data architecture for storage, real-time p...Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...
ISSEL9 views
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ... by ISSEL
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
ISSEL16 views
Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ... by ISSEL
Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...
Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...
ISSEL15 views

Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγαίου κώδικα

  • 1. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικών Ανάλυσης πηγαίου κώδικα Διπλωματική Εργασία Εκπόνηση: Μέτα Λουίς 9390 Επίβλεψη: Καθηγητής Ανδρέας Συμεωνίδης Υποψήφιος Διδάκτορας Θωμάς Καρανικιώτης
  • 2. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Διάρθρωση Παρουσίασης ● Εισαγωγή ● Σκοπός Διπλωματικής Εργασίας ● Μεθοδολογία ○ Συλλογή δεδομένων ○ Προεπεξεργασία δεδομένων ○ Υλοποιήσεις ● Αποτελέσματα & Αξιολόγηση ● Συμπεράσματα ● Μελλοντικές Επεκτάσεις 2
  • 3. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Εισαγωγή 3
  • 4. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Περιγραφή του προβλήματος ● Χρονοβόρα και κοστοβόρα διαδικασία αξιολόγησης της ποιότητας του πηγαίου κώδικα των έργων λογισμικού ● Πολύπλοκα και μεγάλα σε μέγεθος έργα λογισμικού ● Ανάγκη για έλεγχο συντηρησιμότητας από την πλευρά του μηχανικού αλλά και του πελάτη ● Στενά χρονικά περιθώρια για χρήση στατικών και δυναμικών αναλύσεων στην ποιότητα του κώδικα 4
  • 5. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Σκοπός Διπλωματικής Εργασίας 5
  • 6. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Σκοπός Διπλωματικής Εργασίας ● Η πρόβλεψη των μετρικών στατικής ανάλυσης έγκαιρα για τον έλεγχο της συντηρησιμότητας ενός έργου λογισμικού ● Η εξέταση των δικτύων μακράς βραχυπρόθεσμης μνήμης στην μελέτη των μετρικών στατικής ανάλυσης του πηγαίου κώδικα σε επίπεδο κλάσης 6
  • 7. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Μεθοδολογία 7
  • 8. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Συλλογή δεδομένων Repositories: από τα δημοφιλέστερα έργα λογισμικού του GitHub (antlr4, aws-sdk, grals-core). Εβδομαδιαίες μετρήσεις ανά κλάση για κάθε έργο. Γλώσσα προγραμματισμού: Java Κατηγορίες μετρικών στατικής ανάλυσης: • πολυπλοκότητα (McCC, NL, NLE) • συνοχή (LCOM5) • σύζευξη (DIT, NOA, NOC, NOD, NOP) • κληρονομικότητα (CBO, NII, NOI, RFC) 8
  • 9. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Προεπεξεργασία δεδομένων (1) Ground truth: οι μη συντηρίσιμες κλάσεις που έχουν κάποια στιγμή εγκαταλειφθεί κατά την διάρκεια ανάπτυξης του έργου Τάση: ανάλυση ως προς την θετική τους, αρνητική τους και ουδέτερη τάση στον κύκλο ζωής της κλάσης με σκοπό να κρατηθούν όσες έχουν τουλάχιστον μια μετρική με θετική τάση Συνοχή των μετρήσεων - κλάσεις που περιέχουν τουλάχιστον 40% του κύκλου ζωής - χρονική μετατόπιση των μετρήσεων - συμπλήρωση των μετρήσεων σε λογικές περιπτώσεις ελλείψεων 9
  • 10. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Προεπεξεργασία δεδομένων (2) Ομαλοποίηση των απότομων κορυφών: κριτήρια η διάρκεια τους, η ποσοστιαία αλλαγή και ο βαθμός ομαλότητας 10
  • 11. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Υλοποιήσεις (1) 11 Δίκτυο LSTM: περιέχει 4 πύλες (κελί, είσοδος, έξοδος, συγκράτησης μνήμης) που αλληλεπιδρούν μεταξύ τους. Σχεδιάστηκε αρχικά η παρακάτω εκδοχή: - vanilla LSTM (1 LSTM επίπεδο) - πλήθος νευρώνων ως αρχική παράμετρος - συνάρτηση απωλειών την RMSE, βελτιστοποιητής Adam - early stopping συνθήκη
  • 12. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Υλοποιήσεις (2) 12 Δίκτυο LSTM: σχεδιάστηκαν 2 επιπλέον νέες εκδοχές των δικτύων LSTM με στόχο την καλύτερη αξιοποίηση της μνήμης: - LSTM με μνήμη μεταξύ των παρτίδων (1 LSTM επίπεδο) - χρήση της παραμέτρου stateful = True για διατήρηση της μνήμης κατά την εκπαίδευση - LSTM με στοίβες μνήμης μεταξύ των παρτίδων (2 LSTM επίπεδα, 1 dropout επίπεδο) - χρήση της παραμέτρου return_sequences = True για διατήρηση της μνήμης κατά την εκπαίδευση μεταξύ των επιπέδων - χρήση της μεθόδου model.reset_states() για την επαναφορά των πυλών την σωστή στιγμή κατά την εκπαίδευση - επίπεδο dropout με τιμή 0.2 για πρόληψη υπερ προσαρμογής στα δεδομένα εκπαίδευσης
  • 13. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Υλοποιήσεις (3) 13 Δίκτυο GRU: περιέχει 3 πύλες (κελί, ενημέρωση, επαναφορά) καθώς η πύλη εισόδου και μνήμης συγχωνεύονται. Σχεδιάστηκε η παρακάτω εκδοχή ως εναλλακτική προσέγγιση τους προβλήματος. - 1 GRU επίπεδο
  • 14. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Βελτιστοποιήσεις (1) ● Για κάθε υλοποίηση έγινε παραμετρική ανάλυση για το πλήθος των νευρώνων στα επίπεδα τους μέσα από τις τιμές [4, 8, 16, 32, 64, 128] ● Αξιολόγηση αποτελεσμάτων με βάση την απόσταση των προβλέψεων από τις πραγματικές τιμές (RMSE) ● Εφαρμογή τεχνικής παραθύρου με χρήση της παραμέτρου εισόδου ○ πλήθος μετρήσεων που δίνεται στο σύστημα ως είσοδος και πάνω σε αυτή προσπαθεί να “μάθει” μοτίβα κατά την εκπαίδευση ○ ίδιο πλήθος μετρήσεων ως είσοδος για να γίνουν οι ζητούμενες προβλέψεις ● Διαχωρισμός δεδομένων (δεδομένα εκπαίδευσης, εισόδου και αξιολόγησης) 14
  • 15. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Βελτιστοποιήσεις (2) 15
  • 16. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Βελτιστοποιήσεις (3) 16 Πλήθος νευρώνων 4 8 16 32 64 128 RMSE LSTM_v1 20.08 14.87 8.32 14.51 15.61 16.8 RMSE LSTM_v2 12.2 18.0 4.58 11.2 15.5 9.2 RMSE LSTM_v3 16.94 21.04 28.02 9.28 18.38 14.4 RMSE GRU 9.1 11.61 5.79 28.4 7.05 18.89 ● Επιλογή νευρώνων στις υλοποιήσεις με βάση 100 πειράματα πειράματα για παράμετρο το πλήθος νευρώνων ● Το πλήθος με την καλύτερη επίδοση επιλέχθηκε για χρήση στα επόμενα πειράματα
  • 17. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Αποτελέσματα & Αξιολόγηση 17
  • 18. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Πειράματα για την παράμετρο εισόδου (1) ● Παραμετρική ανάλυση για την καταλληλότερη τιμή της παραμέτρου εισόδου του συστήματος στο εύρος [1, 5, 10, 20, 30, 40] ως ποσοστά από το πλήθος των μετρήσεων για την κλάση ● Μέση τιμή RMSE για 100 πειράματα με χρήση της LSTM_v3 18 look back % 1 5 10 20 30 40 RMSE 16.94 21.04 28.02 13.28 18.38 4.4
  • 19. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Πειράματα για την παράμετρο εισόδου (2) 19
  • 20. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Συγκριτικά αποτελέσματα 20 Μοντέλο % εκπαίδευσης % look back Μέση RMSE Χρ. Εκπαίδευσης (sec) LSTM_v1 40 10 1.945 29.372 15 2.579 34.201 20 2.35 35.116 50 10 2.151 30.83 15 2.056 41.133 20 2.158 52.41 LSTM_v2 40 10 1.912 38.998 15 2.322 44.685 20 2.322 44.685 50 10 1.831 67.7 15 1.827 43.107 20 1.891 50.546 LSTM_v3 40 10 2.043 48.229 15 2.131 59.78 20 1.708 73.558 50 10 1.78 52.195 15 1.822 68.52 20 1.678 70.433 GRU 40 10 2.645 30.608 15 2.014 38.024 20 2.389 46.59 50 10 2.492 62.611 15 2.009 43.555 20 2.967 55.854 ● Σύγκριση όλων των υλοποιήσεων ● Εύρος για δεδομένα εκπαίδευσης [40, 50] ● Εύρος για δεδομένα παραμέτρου look back [10, 15, 20] ● Συνολικά 100 πειράματα για το καθένα ● Αξιολόγηση ○ Μέση RMSE ○ Χρόνος Εκπαίδευσης του δικτύου
  • 21. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Ενδεικτικό παράδειγμα LSTM_v3 21 Παράδειγμα της LSTM_v3 για την πρόβλεψη σύζευξης και κληρονομικότητας δύο κλάσεων
  • 22. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Συμπεράσματα 22
  • 23. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Συμπεράσματα ● Η καλύτερη υλοποίηση που εκμεταλλεύεται στον μεγαλύτερο βαθμό την συγκράτηση μνήμης είναι η LSTM_v3 ● Η υλοποίηση της GRU δεν πλεονεκτεί έναντι των LSTM γεγονός που οφείλεται στην μια λιγότερη πύλη ● Η παράμετρος με την μεγαλύτερη επιρροή είναι η look back ● Ικανοποιητικές προβλέψεις μετρικών στατικής ανάλυσης σε ποσοστό 50% του κύκλου ζωής της κλάσης 23
  • 24. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Μελλοντικές Επεκτάσεις 24
  • 25. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Μελλοντικές Επεκτάσεις ● Πειράματα σε έργα που υλοποιούνται με άλλες γλώσσες προγραμματισμού ● Μελέτη αυτόματης εφαρμογής σε αποθετήρια όπως το GitHub για να γίνεται ανά τακτά χρονικά διαστήματα έλεγχος ● Συνεχής βελτιστοποίηση τμημάτων του συστήματος όπως τα επίπεδα, οι βελτιστοποιητές κτλ. 25
  • 26. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Ευχαριστώ για την προσοχή σας 26
  • 27. Ανάπτυξη Συστήματος Πρόβλεψης της εξέλιξης των Μετρικών Στατικής Ανάλυσης πηγαίου κώδικα 03/04/2023 Ερωτήσεις; 27