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

ISSEL
ISSELISSEL
Διπλωματική Εργασία
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της
Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
ΑΕΜ: 8826
Επιβλέποντες
Ανδρέας Συμεωνίδης, Καθηγητής ΑΠΘ
Θωμάς Καρανικιώτης, Υποψήφιος Διδάκτωρ ΑΠΘ
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Εργαστήριο Επεξεργασίας Πληροφορίας & Τεχνολογίας Λογισμικού (ISSEL)
Περιεχόμενα
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
Κίνητρο - Ορισμός
Προβλήματος
1 2 3 4
Παρουσίαση Πειραμάτων
Παρουσίαση Μεθοδολογίας -
Αντιμετώπιση Προβλήματος
Τελικά Αποτελέσματα -
Παρουσίαση Αποτελεσμάτων
Εισαγωγή Μεθοδολογικό
Πλαίσιο
Πειράματα Αποτελέσματα -
Συμπεράσματα
2
1.
Αυτοματοποίηση και επιτάχυνση της διαδικασίας ανάπτυξης
λογισμικού
Κίνητρο
2.
Εύκολη πρόσβαση και αξιοποίηση δεδομένων πηγαίου
κώδικα (π.χ.GitHub)
3.
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
3
Μείωση χρόνου συντήρησης μέσω βελτίωσης της
αναγνωσιμότητας των αρχείων κώδικα του έργου
λογισμικού
4.
80% του συνολικού χρόνου ζωής ενός έργου λογισμικού
αφιερώνεται στη συντήρηση του
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
4
• Υλοποίηση αυτοματοποιημένου συστήματος εντοπισμού και διόρθωσης
σφαλμάτων μορφοποίησης
Ορισμός Προβλήματος
• Δημιουργία ενός μηχανισμού αξιολόγησης της μορφοποίησης ενός αρχείου
πηγαίου κώδικα
Βελτίωση
Μορφοποίησης
Ταχύτερη
Κατανόηση
Ταχύτερη &
Ποιοτικότερη
Συντήρηση
Βελτίωση
Αναγνωσιμότητας
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
Step 2
Εντοπισμός
σφαλμάτων με
χρήση δικτύου
LSTM
Step 1
Προεπεξεργασία
αρχείου πηγαίου
κώδικα
Step 3 Step 4
Διόρθωση
σφαλμάτων
μορφοποίησης
Step 5
Παροχή
προτάσεων
διόρθωσης με
καλύτερη
αξιολόγηση
μορφοποίησης
Μεθοδολογικό πλαίσιο
5
Αξιολόγηση
μορφοποίησης σε
επίπεδο αρχείου
και token.
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
Dataset
Tokenization Vectorization
TokenScore
FileScore
LSTM
10-gram
ErrorDetection
ErrorPositions
DataPreprocessing ErrorFixing
FixedFile
Αρχιτεκτονική Συστήματος
6
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
7
Προεπεξεργασία Δεδομένων
float y = 1.5
<lit> <space> <word> <space> <equal> <number> <semicolon>
2 1 5 1 8 10 6
Δύο βασικά στάδια προεπεξεργασίας ενός αρχείου κώδικα που παρέχεται ως είσοδος:
• Tokenization: μετατροπή και διάσπαση του αρχείου κώδικα σε επιμέρους, διακριτές οντότητες (tokens)
• Vectorization: αντιστοιχία κάθε οντότητας(token) με ένα ακέραιο αριθμό
;
Υποσύστημα Αξιολόγησης Μορφοποίησης
Αξιοποίηση της έννοιας της διασταυρούμενης εντροπίας (cross-entropy) ως μέτρο του βαθμού "έκπληξης"
του μοντέλου N-gram (όταν του παρέχεται ως είσοδος μια αλληλουχία οντοτήτων (tokens) t0,t1,…, tM)
Υλοποίηση στηρίχθηκε στα στατιστικά μοντέλα γλώσσας N-gram τα οποία έχουν την ικανότητα να
αναθέτουν υψηλότερες πιθανότητες εμφάνισης σε αλληλουχίες οντοτήτων (tokens) που συναντώνται
συχνότερα στο σύνολο εκπαίδευσης τους
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
1.
Ποσοτικοποίηση της αφαιρετικής έννοιας της μορφοποίησης πηγαίου κώδικα
2.
3.
8
Υποσύστημα Αξιολόγησης της
Μορφοποίησης (2)
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
4.
Το υποσύστημα αξιολόγησης ενεργεί σε δύο διαφορετικά επίπεδα λειτουργίας:
• αξιολόγηση αρχείου πηγαίου κώδικα συνολικά (source code level)
• αξιολόγηση του κάθε token που απαρτίζει το αρχείο πηγαίου κώδικα (token level)
5.
• Διάσπαση του αρχείου πηγαίου κώδικα σε διαδοχικά επιμέρους παράθυρα μήκους 20 tokens
• Υπολογισμός της διασταυρούμενης εντροπίας για κάθε παράθυρο
• Για κάθε token, εντοπίζεται το σύνολο των παραθύρων στα οποία ανήκει
• Ο βαθμός αξιολόγησης του εκάστοτε token υπολογίζεται ως έξης:
9
Aξιολόγηση σε επίπεδο token:
Υποσύστημα Εντοπισμού Σφαλμάτων
Μορφοποίησης
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
Tokenization Vectorization
DataPreprocessing LSTM
[1,4,6,10,35...]
ErrorProbability
Modification
10-gram
DetectedError
Positions
Παροχή αρχείου
πηγαίου κώδικα ως
είσοδος
Προεπεξεργασία
Αρχείου Πηγαίου
Κώδικα
Αναπαράσταση
αρχείου πηγαίου
κώδικα ως αλληλουχία
ακεραιών αριθμών
Διάσπαση αλληλουχίας σε παράθυρα
20-tokens τα οποία τροφοδούνται
διαδοχικά στο δίκτυο LSTM
Τροποποίηση των
πιθανοτήτων σφάλματος
του δικτύου LSTM με βάση
την αξιολόγηση του
εκάστοτε token η οποία
προέκυψε από το
υποσύστημα αξιολόγησης
Ως έξοδοι παρέχονται οι M
θέσεις των token με τις
υψηλότερες πιθανότητες
εμφάνισης σφάλματος
10
Υποσύστημα Διόρθωσης Σφαλμάτων
Μορφοποίησης
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
1.
Λαμβάνει δύο εισόδους:
• Τις θέσεις των Μ tokens με την υψηλότερη πιθανότητα εμφάνισης σφαλμάτων μορφοποίησης σύμφωνα με το υποσύστημα
εντοπισμού
• Το σύνολο των tokens που αποτελούν τις πιθανότερες αντικαταστάσεις ή προσθήκες για το εκάστοτε πιθανό σφάλμα
μορφοποίησης
2.
Πραγματοποιεί τρεις διαφορετικές προσεγγίσεις διόρθωσης του σφάλματος μορφοποίησης:
3.
• Έλεγχος συντακτικής ορθότητας των νέων διορθωμένων αρχείων κώδικα
• Ως έξοδοι του συστήματος παρέχονται τα αρχεία κώδικα με καλύτερο σκορ αξιολόγησης σε σχέση με το αρχικό
1
• Ολική διαγραφή του token που αντιστοιχεί στη θέση σφάλματος
• Αντικατάσταση του token που αντιστοιχεί στη θέση σφάλματος
• Προσθήκη νέου token πριν το token της πιθανής θέσης σφάλματος
1.
Εκπαίδευση των μοντέλων του συστήματος με χρήση
8.500 αρχείων Java από 10.000 αποθετήρια του GitHub
με συγκεκριμένα, ευρέως διαδεδομένα πρότυπα
μορφοποίησης
Πειράματα & Αποτελέσματα
2.
3.
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
12
Αξιολόγηση της απόδοσης του συστήματος με βάση
8.000 αρχεία κώδικα Java από τον διαγωνισμό CodRep
2019, κάθε ένα από τα οποία περιέχει αποκλειστικά ένα
σφάλμα μορφοποίησης
• Αναλογία συνόλου εκπαίδευσης - ελέγχου για
εκπαίδευση δικτύου LSTM: 80/20
• Αναλογία συνόλου εκπαίδευσης - ελέγχου για
εκπαίδευση μοντέλου γλώσσας N-gram: 90/10
4.
• Αξιοποίηση 1.000 αρχείων εξ αυτών για την
αξιολόγηση του υποσυστήματος εντοπισμού
• Αξιοποίηση 100 αρχείων εξ αυτών για την αξιολόγηση
του υποσυστήματος διόρθωσης
Αξιολόγηση Υποσυστήματος Εντοπισμού
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
1
Αξιολόγηση Υποσυστήματος Διόρθωσης
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
1
Αξιολόγηση Υποσυστήματος Διόρθωσης (2)
Πριν
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
Μετά
Ολική διαγραφή token
1
Αξιολόγηση Υποσυστήματος Διόρθωσης (3)
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
Προσθήκη νέου token
Πριν Μετά
16
Αξιολόγηση Διόρθωσης Πολλαπλών Σφαλμάτων
Μορφοποίησης
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
1
1.
Αξιολόγηση του συστήματος σε περιπτώσεις αρχείων με
2 σφάλματα μορφοποίησης - 20 αρχεία
2.
Διαδοχικοί κύκλοι διόρθωσης τροφοδοτώντας το αρχείο
με την καλύτερη αξιολόγηση, του προηγουμένου κύκλου.
Μετά από 2 κύκλους, ελέγχεται αν το τελικό αρχείο
περιέχει τις επιθυμητές διορθώσεις
3.
Επιστροφή διορθωμένων αρχείων σε όλες τις
περιπτώσεις του πειράματος
Συμπεράσματα
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
1
2
3
Συνολικό σύστημα εντοπισμού και διόρθωσης σφαλμάτων
μορφοποίησης το οποίο δύναται να προσαρμοστεί σε διαφορετικά
πρότυπα χωρίς όγκο παραμετροποιήσεων
Ικανότητα τόσο των βαθιών νευρωνικών δικτύων τύπου LSTM όσο και
των μοντέλων γλώσσας Ν-gram να αποτυπώσουν τις στατιστικές
ιδιότητες αρχείων πηγαίου κώδικα
Εξαιρετική απόδοση του συνολικού συστήματος τόσο στον εντοπισμό
των σφαλμάτων μορφοποίησης όσο και στην διόρθωσή τους
18
Μελλοντική Εργασία
1
2
3
4
Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα
Θωμάς Κανούτας
Εύρεση αυτοματοποιημένης μεθόδου αξιολόγησης του υποσυστήματος διόρθωσης σφαλμάτων
μορφοποίησης με στόχο την αξιολόγησή του σε μεγαλύτερο όγκο δεδομένων
Περαιτέρω αξιολόγηση του συστήματος σε διαφορετικές γλώσσες προγραμματισμού
Χρήση και αξιολόγηση διαφορετικών αρχιτεκτονικών βαθιών νευρωνικών δικτύων
εκτός από τα LSTM
Εκπαίδευση και αξιολόγηση του συστήματος σε διαφορετικά πρότυπα
μορφοποίησης με διαφορετικά χαρακτηριστικά
19
Σας ευχαριστώ για την προσοχή σας!
Ερωτήσεις?
1 of 20

Recommended

ThesisPresentation by
ThesisPresentationThesisPresentation
ThesisPresentationThomasKanoutas
11 views21 slides
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi... by
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...ISSEL
25 views26 slides
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ... by
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...ISSEL
31 views26 slides
Σωτήρης Μπέης by
Σωτήρης ΜπέηςΣωτήρης Μπέης
Σωτήρης ΜπέηςISSEL
134 views37 slides
Μαρίνα Γέραλη by
Μαρίνα Γέραλη Μαρίνα Γέραλη
Μαρίνα Γέραλη ISSEL
143 views40 slides
Νικόλαος Κατιρτζής 7185 by
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185ISSEL
134 views33 slides

More Related Content

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

Design and Implementation of a Mechanism that automates the generation of Sof... by
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...ISSEL
132 views18 slides
Χατζηελευθερίου Ειρήνη by
Χατζηελευθερίου ΕιρήνηΧατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηISSEL
166 views33 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
238 views30 slides
System Development for Prediction of Static Analysis Metrics of Source Code by
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 CodeISSEL
6 views27 slides
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ... by
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...ISSEL
11 views27 slides
Bagia Rousopoulou by
Bagia RousopoulouBagia Rousopoulou
Bagia RousopoulouISSEL
272 views32 slides

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

Design and Implementation of a Mechanism that automates the generation of Sof... by ISSEL
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...
ISSEL132 views
Χατζηελευθερίου Ειρήνη by ISSEL
Χατζηελευθερίου ΕιρήνηΧατζηελευθερίου Ειρήνη
Χατζηελευθερίου Ειρήνη
ISSEL166 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
ISSEL238 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
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ... by ISSEL
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
ISSEL11 views
Bagia Rousopoulou by ISSEL
Bagia RousopoulouBagia Rousopoulou
Bagia Rousopoulou
ISSEL272 views
Γεροκώστα by ISSEL
ΓεροκώσταΓεροκώστα
Γεροκώστα
ISSEL119 views
Ioannis Loias by ISSEL
Ioannis LoiasIoannis Loias
Ioannis Loias
ISSEL239 views
Ελευθεριάδου by ISSEL
ΕλευθεριάδουΕλευθεριάδου
Ελευθεριάδου
ISSEL138 views
Νίνα Ελευθεριάδου by ISSEL
Νίνα ΕλευθεριάδουΝίνα Ελευθεριάδου
Νίνα Ελευθεριάδου
ISSEL122 views
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ... by ISSEL
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
ISSEL39 views
Pantelidou Eirini: Design and development of a system for incremental static ... by Manos Tsardoulias
Pantelidou Eirini: Design and development of a system for incremental static ...Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...
Source code remodularization based on component dependency graphs by ISSEL
Source code remodularization based on component dependency graphsSource code remodularization based on component dependency graphs
Source code remodularization based on component dependency graphs
ISSEL36 views
Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ... by ISSEL
Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...
Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...
ISSEL90 views
Narlis Eystratios by ISSEL
Narlis EystratiosNarlis Eystratios
Narlis Eystratios
ISSEL122 views
Maniadis Ioannis by ISSEL
Maniadis IoannisManiadis Ioannis
Maniadis Ioannis
ISSEL129 views
ΑΕΠΠ ΚΕΦ 2 by educast
ΑΕΠΠ ΚΕΦ 2ΑΕΠΠ ΚΕΦ 2
ΑΕΠΠ ΚΕΦ 2
educast702 views
Άλγεβρα Boole και Υλικό Υπολογιστή by mdaglis
Άλγεβρα Boole και Υλικό ΥπολογιστήΆλγεβρα Boole και Υλικό Υπολογιστή
Άλγεβρα Boole και Υλικό Υπολογιστή
mdaglis1.1K views
Keyword-based software library recommendation in order to bootstrap software ... by ISSEL
Keyword-based software library recommendation in order to bootstrap software ...Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...
ISSEL10 views
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α... by ISSEL
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
ISSEL13 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
8 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...
ISSEL8 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
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
Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...
Ανάπτυξη Συστήματος Παραγωγής Ερωτήσεων & Γνωσιακού Γράφου από Πρόσφατα Νέα μ...
ISSEL16 views
Development of a system for designing remote digital image processing pipelin... by ISSEL
Development of a system for designing remote digital image processing pipelin...Development of a system for designing remote digital image processing pipelin...
Development of a system for designing remote digital image processing pipelin...
ISSEL5 views
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ... by ISSEL
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
Ανάπτυξη υποδομής για τη δημιουργία ροών απομακρυσμένης επεξεργασίας εικόνας ...
ISSEL17 views

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

  • 1. Διπλωματική Εργασία Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας ΑΕΜ: 8826 Επιβλέποντες Ανδρέας Συμεωνίδης, Καθηγητής ΑΠΘ Θωμάς Καρανικιώτης, Υποψήφιος Διδάκτωρ ΑΠΘ Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας & Τεχνολογίας Λογισμικού (ISSEL)
  • 2. Περιεχόμενα Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας Κίνητρο - Ορισμός Προβλήματος 1 2 3 4 Παρουσίαση Πειραμάτων Παρουσίαση Μεθοδολογίας - Αντιμετώπιση Προβλήματος Τελικά Αποτελέσματα - Παρουσίαση Αποτελεσμάτων Εισαγωγή Μεθοδολογικό Πλαίσιο Πειράματα Αποτελέσματα - Συμπεράσματα 2
  • 3. 1. Αυτοματοποίηση και επιτάχυνση της διαδικασίας ανάπτυξης λογισμικού Κίνητρο 2. Εύκολη πρόσβαση και αξιοποίηση δεδομένων πηγαίου κώδικα (π.χ.GitHub) 3. Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 3 Μείωση χρόνου συντήρησης μέσω βελτίωσης της αναγνωσιμότητας των αρχείων κώδικα του έργου λογισμικού 4. 80% του συνολικού χρόνου ζωής ενός έργου λογισμικού αφιερώνεται στη συντήρηση του
  • 4. Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 4 • Υλοποίηση αυτοματοποιημένου συστήματος εντοπισμού και διόρθωσης σφαλμάτων μορφοποίησης Ορισμός Προβλήματος • Δημιουργία ενός μηχανισμού αξιολόγησης της μορφοποίησης ενός αρχείου πηγαίου κώδικα Βελτίωση Μορφοποίησης Ταχύτερη Κατανόηση Ταχύτερη & Ποιοτικότερη Συντήρηση Βελτίωση Αναγνωσιμότητας
  • 5. Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας Step 2 Εντοπισμός σφαλμάτων με χρήση δικτύου LSTM Step 1 Προεπεξεργασία αρχείου πηγαίου κώδικα Step 3 Step 4 Διόρθωση σφαλμάτων μορφοποίησης Step 5 Παροχή προτάσεων διόρθωσης με καλύτερη αξιολόγηση μορφοποίησης Μεθοδολογικό πλαίσιο 5 Αξιολόγηση μορφοποίησης σε επίπεδο αρχείου και token.
  • 6. Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας Dataset Tokenization Vectorization TokenScore FileScore LSTM 10-gram ErrorDetection ErrorPositions DataPreprocessing ErrorFixing FixedFile Αρχιτεκτονική Συστήματος 6
  • 7. Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 7 Προεπεξεργασία Δεδομένων float y = 1.5 <lit> <space> <word> <space> <equal> <number> <semicolon> 2 1 5 1 8 10 6 Δύο βασικά στάδια προεπεξεργασίας ενός αρχείου κώδικα που παρέχεται ως είσοδος: • Tokenization: μετατροπή και διάσπαση του αρχείου κώδικα σε επιμέρους, διακριτές οντότητες (tokens) • Vectorization: αντιστοιχία κάθε οντότητας(token) με ένα ακέραιο αριθμό ;
  • 8. Υποσύστημα Αξιολόγησης Μορφοποίησης Αξιοποίηση της έννοιας της διασταυρούμενης εντροπίας (cross-entropy) ως μέτρο του βαθμού "έκπληξης" του μοντέλου N-gram (όταν του παρέχεται ως είσοδος μια αλληλουχία οντοτήτων (tokens) t0,t1,…, tM) Υλοποίηση στηρίχθηκε στα στατιστικά μοντέλα γλώσσας N-gram τα οποία έχουν την ικανότητα να αναθέτουν υψηλότερες πιθανότητες εμφάνισης σε αλληλουχίες οντοτήτων (tokens) που συναντώνται συχνότερα στο σύνολο εκπαίδευσης τους Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 1. Ποσοτικοποίηση της αφαιρετικής έννοιας της μορφοποίησης πηγαίου κώδικα 2. 3. 8
  • 9. Υποσύστημα Αξιολόγησης της Μορφοποίησης (2) Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 4. Το υποσύστημα αξιολόγησης ενεργεί σε δύο διαφορετικά επίπεδα λειτουργίας: • αξιολόγηση αρχείου πηγαίου κώδικα συνολικά (source code level) • αξιολόγηση του κάθε token που απαρτίζει το αρχείο πηγαίου κώδικα (token level) 5. • Διάσπαση του αρχείου πηγαίου κώδικα σε διαδοχικά επιμέρους παράθυρα μήκους 20 tokens • Υπολογισμός της διασταυρούμενης εντροπίας για κάθε παράθυρο • Για κάθε token, εντοπίζεται το σύνολο των παραθύρων στα οποία ανήκει • Ο βαθμός αξιολόγησης του εκάστοτε token υπολογίζεται ως έξης: 9 Aξιολόγηση σε επίπεδο token:
  • 10. Υποσύστημα Εντοπισμού Σφαλμάτων Μορφοποίησης Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας Tokenization Vectorization DataPreprocessing LSTM [1,4,6,10,35...] ErrorProbability Modification 10-gram DetectedError Positions Παροχή αρχείου πηγαίου κώδικα ως είσοδος Προεπεξεργασία Αρχείου Πηγαίου Κώδικα Αναπαράσταση αρχείου πηγαίου κώδικα ως αλληλουχία ακεραιών αριθμών Διάσπαση αλληλουχίας σε παράθυρα 20-tokens τα οποία τροφοδούνται διαδοχικά στο δίκτυο LSTM Τροποποίηση των πιθανοτήτων σφάλματος του δικτύου LSTM με βάση την αξιολόγηση του εκάστοτε token η οποία προέκυψε από το υποσύστημα αξιολόγησης Ως έξοδοι παρέχονται οι M θέσεις των token με τις υψηλότερες πιθανότητες εμφάνισης σφάλματος 10
  • 11. Υποσύστημα Διόρθωσης Σφαλμάτων Μορφοποίησης Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 1. Λαμβάνει δύο εισόδους: • Τις θέσεις των Μ tokens με την υψηλότερη πιθανότητα εμφάνισης σφαλμάτων μορφοποίησης σύμφωνα με το υποσύστημα εντοπισμού • Το σύνολο των tokens που αποτελούν τις πιθανότερες αντικαταστάσεις ή προσθήκες για το εκάστοτε πιθανό σφάλμα μορφοποίησης 2. Πραγματοποιεί τρεις διαφορετικές προσεγγίσεις διόρθωσης του σφάλματος μορφοποίησης: 3. • Έλεγχος συντακτικής ορθότητας των νέων διορθωμένων αρχείων κώδικα • Ως έξοδοι του συστήματος παρέχονται τα αρχεία κώδικα με καλύτερο σκορ αξιολόγησης σε σχέση με το αρχικό 1 • Ολική διαγραφή του token που αντιστοιχεί στη θέση σφάλματος • Αντικατάσταση του token που αντιστοιχεί στη θέση σφάλματος • Προσθήκη νέου token πριν το token της πιθανής θέσης σφάλματος
  • 12. 1. Εκπαίδευση των μοντέλων του συστήματος με χρήση 8.500 αρχείων Java από 10.000 αποθετήρια του GitHub με συγκεκριμένα, ευρέως διαδεδομένα πρότυπα μορφοποίησης Πειράματα & Αποτελέσματα 2. 3. Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 12 Αξιολόγηση της απόδοσης του συστήματος με βάση 8.000 αρχεία κώδικα Java από τον διαγωνισμό CodRep 2019, κάθε ένα από τα οποία περιέχει αποκλειστικά ένα σφάλμα μορφοποίησης • Αναλογία συνόλου εκπαίδευσης - ελέγχου για εκπαίδευση δικτύου LSTM: 80/20 • Αναλογία συνόλου εκπαίδευσης - ελέγχου για εκπαίδευση μοντέλου γλώσσας N-gram: 90/10 4. • Αξιοποίηση 1.000 αρχείων εξ αυτών για την αξιολόγηση του υποσυστήματος εντοπισμού • Αξιοποίηση 100 αρχείων εξ αυτών για την αξιολόγηση του υποσυστήματος διόρθωσης
  • 13. Αξιολόγηση Υποσυστήματος Εντοπισμού Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 1
  • 14. Αξιολόγηση Υποσυστήματος Διόρθωσης Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 1
  • 15. Αξιολόγηση Υποσυστήματος Διόρθωσης (2) Πριν Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας Μετά Ολική διαγραφή token 1
  • 16. Αξιολόγηση Υποσυστήματος Διόρθωσης (3) Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας Προσθήκη νέου token Πριν Μετά 16
  • 17. Αξιολόγηση Διόρθωσης Πολλαπλών Σφαλμάτων Μορφοποίησης Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 1 1. Αξιολόγηση του συστήματος σε περιπτώσεις αρχείων με 2 σφάλματα μορφοποίησης - 20 αρχεία 2. Διαδοχικοί κύκλοι διόρθωσης τροφοδοτώντας το αρχείο με την καλύτερη αξιολόγηση, του προηγουμένου κύκλου. Μετά από 2 κύκλους, ελέγχεται αν το τελικό αρχείο περιέχει τις επιθυμητές διορθώσεις 3. Επιστροφή διορθωμένων αρχείων σε όλες τις περιπτώσεις του πειράματος
  • 18. Συμπεράσματα Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας 1 2 3 Συνολικό σύστημα εντοπισμού και διόρθωσης σφαλμάτων μορφοποίησης το οποίο δύναται να προσαρμοστεί σε διαφορετικά πρότυπα χωρίς όγκο παραμετροποιήσεων Ικανότητα τόσο των βαθιών νευρωνικών δικτύων τύπου LSTM όσο και των μοντέλων γλώσσας Ν-gram να αποτυπώσουν τις στατιστικές ιδιότητες αρχείων πηγαίου κώδικα Εξαιρετική απόδοση του συνολικού συστήματος τόσο στον εντοπισμό των σφαλμάτων μορφοποίησης όσο και στην διόρθωσή τους 18
  • 19. Μελλοντική Εργασία 1 2 3 4 Δημιουργία Συστήματος για την Παροχή Προτάσεων Βελτίωσης της Μορφοποίησης Πηγαίου Κώδικα Θωμάς Κανούτας Εύρεση αυτοματοποιημένης μεθόδου αξιολόγησης του υποσυστήματος διόρθωσης σφαλμάτων μορφοποίησης με στόχο την αξιολόγησή του σε μεγαλύτερο όγκο δεδομένων Περαιτέρω αξιολόγηση του συστήματος σε διαφορετικές γλώσσες προγραμματισμού Χρήση και αξιολόγηση διαφορετικών αρχιτεκτονικών βαθιών νευρωνικών δικτύων εκτός από τα LSTM Εκπαίδευση και αξιολόγηση του συστήματος σε διαφορετικά πρότυπα μορφοποίησης με διαφορετικά χαρακτηριστικά 19
  • 20. Σας ευχαριστώ για την προσοχή σας! Ερωτήσεις?