SlideShare a Scribd company logo
1 of 32
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για
την Εξαγωγή Προτύπων Διόρθωσης σε
Σφάλματα Στατικής Ανάλυσης
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Πολυτεχνική Σχολή
Τμήμα Ηλεκτρολόγων Μηχανικών και
Μηχανικών Υπολογιστών
Κύκλος Σπουδών Ηλεκτρονικής και Υπολογιστών
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εκπόνηση:
Μιχάλης Καρατζάς
ΑΕΜ:
9137
Επιβλέποντες:
Ανδρέας Λ. Συμεωνίδης
Αναπληρωτής Καθηγητής Α.Π.Θ.
Διαμαντόπουλος Θεμιστοκλής
Μεταδιδακτορικός Ερευνητής
Διπλωματική Εργασία
Περιεχόμενα
1. Εισαγωγή – Στόχος
2. Μεθοδολογία
1. Συλλογή Δεδομένων
2. Ανάλυση Δεδομένων – Ομαδοποίηση
3. Αποτελέσματα & Αξιολόγηση
4. Συμπεράσματα
5. Μελλοντικές Επεκτάσεις
Μάρτιος 2022
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
2
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Μιχάλης Καρατζάς
Εισαγωγή – Στόχοι
Μάρτιος 2022 3
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Εισαγωγή (1/3)
• Τα σύγχρονα έργα λογισμικού:
• μεγάλα, πολύπλοκα, διεισδύουν σε πολλές πτυχές του
ανθρώπινου βίου
• Σφάλματα έργων λογισμικού:
• Προγραμματιστές ¼ του χρόνου τους σε εντοπισμό και
διόρθωση
• Μεγάλο κόστος για την βιομηχανία λογισμικού
• 2 τρόποι αυτόματου εντοπισμού σφαλμάτων:
• Δυναμική ανάλυση: πολύπλοκη, βασίζεται σε
προδιαγραφές – όχι πάντα εφικτή
• Στατική ανάλυση κώδικα: εντοπίζει γενικότερα σφάλματα
Μάρτιος 2022 4
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Εισαγωγή (2/3)
• Στατική Ανάλυση:
• πραγματοποιείται μέσω Εργαλείων Στατικής Ανάλυσης
• γρήγορη, δεν απαιτεί απαραίτητα μεταγλωττισμένο
κώδικα
• ιδιαίτερο βιομηχανικό και ερευνητικό ενδιαφέρον τα
τελευταία χρόνια
• Ωστόσο δεν έχει αξιοποιηθεί λόγω:
• Αναφορά υπερβολικά πολλών σφαλμάτων
• False Positives
• Προβλήματα στην κατανόηση των μηνυμάτων σφαλμάτων
• Απαιτείται από τον προγραμματιστή να διορθώσει τα
σφάλματα
Μάρτιος 2022 5
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Εισαγωγή (3/3)
• 2 Κατευθύνσεις έρευνας για στατική ανάλυση:
1. Αυτοματοποιημένη διόρθωση σφαλμάτων, που
εντοπίζονται μέσω στατικής ανάλυσης
2. Εξόρυξη προτύπων διόρθωσης, για σφάλματα
στατικής ανάλυσης, στόχοι:
• Εξαγωγή γενικών προτύπων, που εμπεριέχουν συλλογική
γνώση
•  Κατανόηση του τρόπου που οι προγραμματιστές
αντιμετωπίζουν τέτοια σφάλματα.
• Λειτουργούν ως βάση έμμεσα ή άμεσα για αποδοτικά
συστήματα της πρώτης κατεύθυνσης.
Μάρτιος 2022 6
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Στόχος παρούσας εργασίας
• Η ανάπτυξη ενός συστήματος, που θα εξορύξει,
χρήσιμα πρότυπα διόρθωσης σφαλμάτων στατικής
ανάλυσης γλώσσας JAVA:
•  Αξιοποιείται το εργαλείο Στατικής Ανάλυσης PMD
Μάρτιος 2022 7
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Μεθοδολογία
Μάρτιος 2022 8
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Μεθοδολογία – Δομή Συστήματος
Μάρτιος 2022 9
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Συλλογή Δεδομένων (1/3)
• εκτέλεση του PMD σε:
• Δικό μας σύνολο δεδομένων αποτελούμενο από
διορθώσεις όλων των κανόνων του PMD
• Σύνολο δεδομένων αποτελούμενο από γενικότερες
διορθώσεις κώδικα
• Επιλογή 43 κανόνων (τύπων σφαλμάτων) του PMD
που:
• έχει νόημα η αναζήτηση προτύπων διόρθωσης
• διορθώνονται από τους προγραμματιστές
Μάρτιος 2022 10
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Συλλογή Δεδομένων (2/3)
• Λήψη commits από το
Search API του Github:
• Αναζήτηση commits, με
βάση το message (π.χ.
“PMD bug fix”).
• Λήψη των εκδόσεων των
αρχείων πριν και μετά την
εφαρμογή των αλλαγών
του commit
Μάρτιος 2022 11
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Συλλογή Δεδομένων (3/3)
• Εκτέλεση του PMD:
• Εκτέλεση του PMD με
ενεργοποιημένους τους 43
κανόνες που επιλέχθηκαν.
• Αναφορές για κάθε αρχείο για
τις εκδόσεις του, πριν και μετά
το commit.
• Απομόνωση μόνο των
σφαλμάτων που αναφέρονται
από το PMD μόνο στην έκδοση
του αρχείου πριν το commit
• στην ύστερη πιθανώς έχουν
διορθωθεί
Μάρτιος 2022 12
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
 Έτσι: Δημιουργήθηκε
κατάλληλο σύνολο δεδομένων
από διορθώσεις, των κανόνων
του PMD που επιλέχθηκαν.
Ανάλυση Δεδομένων (1/10)
• Επιλογή και εξαγωγή Αναπαράστασης Κώδικα
• srcML - ( https://www.srcml.org/ ) :
• XML για πηγαίο κώδικα.
• Διατηρεί κενά – μορφοποίηση κώδικα.
• Εξάγεται ακόμα και για οποιοδήποτε fragment κώδικα
Μάρτιος 2022 13
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ανάλυση Δεδομένων (2/10)
• Εξαγωγή srcml για:
• τμήματα του github patch των
commits, πριν και μετά από μια
συγκεκριμένη διόρθωση:
Μάρτιος 2022 14
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ανάλυση Δεδομένων (3/10)
• Παράδειγμα εξαγωγής srcML για τμήμα κώδικα:
Μάρτιος 2022 15
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς

Ανάλυση Δεδομένων (4/10)
• Εξαγωγή διαφορών για τις διορθώσεις:
• Ώστε να φανερώνονται οι δομικές αλλαγές κάθε διόρθωσης
• Επιλογή αλγορίθμου απόστασης επεξεργασίας δέντρου (TED) Gumtree:
• Εξαγωγή διαφορών σε επίπεδο srcML – αλληλουχία αλλαγών (update script)
με 4 δυνατά βήματα:
• Εισαγωγή (Insert) ενός νέου κόμβου/υποδέντρου
• Διαγραφή (Delete) ενός προϋπάρχοντος κόμβου/υποδέντρου
• Μετακίνηση (Move) ενός κόμβου/υποδέντρου σε άλλη θέση
• Αλλαγή των τιμών (Update) ενός κόμβου ή των κόμβων ενός υποδέντρου
Μάρτιος 2022 16
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ανάλυση Δεδομένων (5/10)
• Εξαγωγή ακολουθιών όρων από τις
διαφορές:
• Ακολουθίες αποτελούμενες από:
• Δομικούς όρους της srcML για γλώσσα
JAVA
• Βήματα αλλαγών (Insert, Delete,
Move, Update)
• Απαλλαγμένες από λεπτομέρειες (π.χ.
ονόματα μεταβλητών)
• Κάθε ακολουθία αντιπροσωπευτική
μιας διόρθωσης
• Ομοιότητα μεταξύ δύο διορθώσεων με
εύρεση της μέγιστης κοινής
υπακολουθίας (LCS) των ακολουθιών
τους.
Μάρτιος 2022 17
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ανάλυση Δεδομένων (6/10)
• Εξαγωγή μοντέλου ομοιότητας από τις ακολουθίες:
• Ομοιότητα μεταξύ 2 διορθώσεων (𝑓𝑖𝑥1, 𝑓𝑖𝑥2 ):
𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑓𝑖𝑥1, 𝑓𝑖𝑥2) = 2 ∙
|𝐿𝐶𝑆 𝑠𝑒𝑞1, 𝑠𝑒𝑞2 |
𝑠𝑒𝑞1 + |𝑠𝑒𝑞2|
• όπου:
• 𝑠𝑒𝑞1, 𝑠𝑒𝑞2: οι αντιπροσωπευτικές ακολουθίες των 𝑓𝑖𝑥1, 𝑓𝑖𝑥2
• 𝐿𝐶𝑆 𝑠𝑒𝑞1, 𝑠𝑒𝑞2 : μήκος μέγιστης κοινής υπακολουθίας μεταξύ 𝑠𝑒𝑞1,
𝑠𝑒𝑞2
• 𝑠𝑒𝑞𝑖 : μήκος της ακολουθίας 𝑠𝑒𝑞𝑖
• Εξαγωγή ενός πίνακα ομοιότητας για όλες τις διορθώσεις
• Ομοιότητες στο διάστημα [0,1]
•  εξαγωγή πίνακα αποστάσεων ως είσοδο για ομαδοποίηση
• Κάθε κελί είναι 1 μείον το αντίστοιχό κελί του πίνακα ομοιότητας
Μάρτιος 2022 18
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ανάλυση Δεδομένων (7/10)
• Ομαδοποίηση:
•  Σύνολο εκπαίδευσης:
• 5596 διορθώσεις για 36 κανόνες του PMD
• Αρχική Ανάλυση:
• Θεωρούμε κάθε ομάδα ότι αποτελεί πρότυπο διόρθωσης του
συχνότερου κανόνα της
Μάρτιος 2022 19
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ανάλυση Δεδομένων (8/10)
• Ομαδοποίηση με K-medoids:
• Επιλογή K:
• Χρήση αθροίσματος απόλυτων
σφαλμάτων (sum of absolute errors –SAE):
𝑆𝐴𝐸 =
𝑖=1
𝐾
𝑝∈𝐶𝑖
𝑑𝑖𝑠𝑡(𝑝, 𝑚𝑖)
• όπου:
• 𝐾: ο αριθμός των ομάδων
• 𝐶𝑖: η i-οστή ομάδα (cluster)
• 𝑚𝑖: το κέντρο (medoid) της 𝐶𝑖
• 𝑑𝑖𝑠𝑡(𝑝, 𝑚𝑖): απόσταση μεταξύ του
σημείου 𝑝 και του κέντρου 𝑚𝑖
• εκτέλεση από 2 έως 500 ομάδες:
• Υπολογισμός 𝑆𝐴𝐸
• Επιλογή 𝐾 όπου υπάρχει γόνατο
• Κ=56
Μάρτιος 2022 20
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ανάλυση Δεδομένων (9/10)
• Ορισμός μετρικής Καθαρότητας Purity:
• Purity i-οστής ομάδας:
𝑃𝑢𝑟𝑖𝑡𝑦𝑖 =
max
𝑟∈𝑅
(𝑎𝑏𝑠𝑓𝑟𝑒𝑞 𝑟,𝐶𝑖 )
𝑁𝑖
• όπου:
• 𝑅: το σύνολο των κανόνων του PMD, άρα 𝑟 ένας κανόνας.
• 𝑎𝑏𝑠𝑓𝑟𝑒𝑞 𝑟, 𝐶𝑖 : αριθμός των διορθώσεων της ομάδας 𝐶𝑖, που είναι για
σφάλματα του κανόνα 𝑟 (η απόλυτη συχνότητα του r στην 𝐶𝑖)
• 𝑁𝑖: το σύνολο των σημείων της ομάδας 𝐶𝑖
• Purity για την συνολική διαδικασία ομαδοποίησης:
𝑃𝑢𝑟𝑖𝑡𝑦 =
1
𝑁 𝐶𝑖∈𝑪 max
𝑟∈𝑅
(𝑎𝑏𝑠𝑓𝑟𝑒𝑞 𝑟, 𝐶𝑖 )
• όπου:
• 𝑁: το πλήθος των σημείων που ομαδοποιούνται
• 𝑪: τον σύνολο των ομάδων (clusters) που προκύπτει
Μάρτιος 2022 21
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ανάλυση Δεδομένων (10/10)
• Ομαδοποίηση με DBSCAN:
• Παράμετροι minPts και 𝜀
• Επιλογή minPts =15:
• Καθώς συμπίπτει με ελάχιστο αριθμό στοιχείων ομάδας
 αποφυγή μικρών, απομονωμένων ομάδων
• Συχνότερος κανόνας στις 51/56 ομάδες που προέκυψαν
με K-medoids είχαν απόλυτη συχνότητα > 15
• Επιλογή 𝜀:
• Χρήση μετρικής Purity για την ομαδοποίηση
• Εκτέλεση για 𝜀 από 0.01 έως 0.5 με βήμα 0.01
• Επιλογή 𝜀 για μέγιστο Purity  𝜀=0.08
•  προέκυψαν 48 ομάδες
Μάρτιος 2022 22
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Αποτελέσματα & Αξιολόγηση
Μάρτιος 2022 23
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Αποτελέσματα με K-medoids (1/2)
• Μετρικές
• Mean Absolute Error : 𝑀𝐴𝐸 =
𝑆𝐴𝐸
𝑁
≅ 0.125
• Ομαδοποιούνται μαζί αρκετά κοντινά σημεία (αποστάσεις στο [0,1])
• χωρίς να υπάρχει υπερεξειδίκευση
• 𝑃𝑢𝑟𝑖𝑡𝑦 ≅ 0.76
• Σε μεγάλο βαθμό οι διορθώσεις ομαδοποιούνται με βάση τον κανόνα
Μάρτιος 2022 24
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Αποτελέσματα με K-medoids (2/2)
• Αντιπροσωπευτικό δείγμα 20 ομάδων
Μάρτιος 2022 25
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
• Γενικές Παρατηρήσεις:
• Εξάγονται πρότυπα διόρθωσης
για 29/36 κανόνες του συνόλου
εκπαίδευσης
• Πολλοί κανόνες έχουν 2 ή
περισσότερα πρότυπα διόρθωσης
(π.χ. ID=9 και ID=25)
• Ομάδες γενικά έχουν υψηλό
𝑃𝑢𝑟𝑖𝑡𝑦, επομένως αποτελούνται
κυρίως από διορθώσεις ενός
μόνο κανόνα
• 2/56 ομάδες έχουν Purity=1
• Ομάδες γενικά προκύπτουν από
πολλά commits, repos
Αποτελέσματα με DBSCAN (1/2)
• Μετρικές
• 𝑃𝑢𝑟𝑖𝑡𝑦 ≅ 0.93
• Οι διορθώσεις ομαδοποιούνται σε πολύ μεγάλο ποσοστό με βάση
τον κανόνα
Μάρτιος 2022 26
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
• Αντιπροσωπευτικό δείγμα 20 ομάδων
Μάρτιος 2022 27
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
• Γενικές Παρατηρήσεις:
• Εξάγονται πρότυπα διόρθωσης
για 25/36 κανόνες του PMD του
συνόλου εκπαίδευσης
• Πολλοί κανόνες έχουν 2 ή
περισσότερα πρότυπα διόρθωσης
(π.χ. ID=27 και ID=41)
• Ομάδες: πολύ υψηλό 𝑃𝑢𝑟𝑖𝑡𝑦
• 31/48 ομάδες έχουν Purity=1
• διορθώσεις 1 μόνο κανόνα
• Ομάδες γενικά προκύπτουν από
πολλά commits, repos
• σε μικρότερο βαθμό από ότι με
K-medoids
• ID=17, μόνο 1 commit/repo
• ID =30, μόνο 2 commits/repos
Αποτελέσματα με DBSCAN (2/2)
Συμπεράσματα-Μελλοντικές
Επεκτάσεις
Μάρτιος 2022 28
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Συμπεράσματα
• Και στις 2 ομαδοποιήσεις:
• Ομάδες διορθώσεων με μεγάλο Purity
• Purity ομαδοποίησης 0.76 για K-medoids, 0.93 για DBSCAN
• DBSCAN: καταλληλότερος όπου απαιτούνται ομάδες αυστηρά
καθορισμένες ως προς τους κανόνες (π.χ. αυτοματοποιημένη
διόρθωση)
• K-medoids: καταλληλότερος για εξαγωγή γενικότερων προτύπων
διόρθωσης, όχι αυστηρά συνδεδεμένων με κανόνες
• Ομάδες προκύπτουν από μεγάλο αριθμό commits και repos:
• Τα εξαγόμενα πρότυπα διορθώσεων ενσωματώνουν συλλογική
γνώση των προγραμματιστών για τέτοια προβλήματα
Μάρτιος 2022 29
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Πιθανές μελλοντικές επεκτάσεις
• Εξαγωγή για κάθε πρότυπο διόρθωσης αφηρημένης
αναπαράστασης σε επίπεδο κώδικα, ως ετικέτα π.χ. από
άλλη έρευνα :
• Ανάπτυξη ενός μηχανισμού αυτοματοποιημένης
διόρθωσης, βασιζόμενο στα εξαγόμενα πρότυπα
• Επέκταση της έρευνας και σε άλλες γλώσσες εκτός της Java
Μάρτιος 2022 30
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ευχαριστίες
• Θα ήθελα να ευχαριστήσω:
• Τον Αναπληρωτή Καθηγητή Ανδρέα Λ. Συμεωνίδη
• Τον Μεταδιδακτορικό Ερευνητή Θεμιστοκλή Διαμαντόπουλο
• Όλους όσους παρακολουθήσατε την παρουσίασή μου
Μάρτιος 2022 31
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς
Ερωτήσεις ??
Μάρτιος 2022 32
Εργαστήριο Επεξεργασίας
Πληροφορίας και Υπολογισμών
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή
Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης
Μιχάλης Καρατζάς

More Related Content

What's hot

ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ISSEL
 
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...
Gougousis Dimitris: Development of an automated machine learning system for p...Manos Tsardoulias
 
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Manos Tsardoulias
 
Stelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationISSEL
 
Konstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationKonstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationISSEL
 
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...ISSEL
 
Bagia Rousopoulou
Bagia RousopoulouBagia Rousopoulou
Bagia RousopoulouISSEL
 
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDESΑνάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDESISSEL
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios DimitrisISSEL
 
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής MάθησηςΈγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής MάθησηςISSEL
 
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...ISSEL
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485ISSEL
 
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςΕντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςISSEL
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...ISSEL
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...ISSEL
 

What's hot (15)

ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
 
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...
Gougousis Dimitris: Development of an automated machine learning system for p...
 
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
 
Stelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentation
 
Konstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationKonstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenation
 
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
 
Bagia Rousopoulou
Bagia RousopoulouBagia Rousopoulou
Bagia Rousopoulou
 
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDESΑνάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
Ανάλυση αθλητικών επιδόσεων με τη χρήση του συστήματος REMEDES
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
 
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής MάθησηςΈγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
 
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςΕντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
 

Similar to Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis Violations

Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
ΓεροκώσταISSEL
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010ISSEL
 
System Development for Prediction of Static Analysis Metrics of Source Code
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
 
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...ISSEL
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationISSEL
 
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
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...ISSEL
 
Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Ελένη Νησιώτη
Ελένη ΝησιώτηΕλένη Νησιώτη
Ελένη ΝησιώτηISSEL
 
Χατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηΧατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηISSEL
 
Automated Task Assignment using Topic Modelling Techniques on Project Managem...
Automated Task Assignment using Topic Modelling Techniques on Project Managem...Automated Task Assignment using Topic Modelling Techniques on Project Managem...
Automated Task Assignment using Topic Modelling Techniques on Project Managem...ISSEL
 
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Καρβούνης Ευάγγελος
Καρβούνης Ευάγγελος Καρβούνης Ευάγγελος
Καρβούνης Ευάγγελος ISSEL
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουISSEL
 
VET4SBO Level 2 module 2 - unit 1 - v0.9 gr
VET4SBO Level 2   module 2 - unit 1 - v0.9 grVET4SBO Level 2   module 2 - unit 1 - v0.9 gr
VET4SBO Level 2 module 2 - unit 1 - v0.9 grKarel Van Isacker
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...ISSEL
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...ISSEL
 

Similar to Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis Violations (20)

Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
Γεροκώστα
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010
 
System Development for Prediction of Static Analysis Metrics of Source Code
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
 
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
 
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...
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
 
Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Ελένη Νησιώτη
Ελένη ΝησιώτηΕλένη Νησιώτη
Ελένη Νησιώτη
 
Χατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηΧατζηελευθερίου Ειρήνη
Χατζηελευθερίου Ειρήνη
 
Automated Task Assignment using Topic Modelling Techniques on Project Managem...
Automated Task Assignment using Topic Modelling Techniques on Project Managem...Automated Task Assignment using Topic Modelling Techniques on Project Managem...
Automated Task Assignment using Topic Modelling Techniques on Project Managem...
 
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Καρβούνης Ευάγγελος
Καρβούνης Ευάγγελος Καρβούνης Ευάγγελος
Καρβούνης Ευάγγελος
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. Ζαφειρίου
 
VET4SBO Level 2 module 2 - unit 1 - v0.9 gr
VET4SBO Level 2   module 2 - unit 1 - v0.9 grVET4SBO Level 2   module 2 - unit 1 - v0.9 gr
VET4SBO Level 2 module 2 - unit 1 - v0.9 gr
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
 

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
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...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...
 

Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis Violations

  • 1. Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κύκλος Σπουδών Ηλεκτρονικής και Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εκπόνηση: Μιχάλης Καρατζάς ΑΕΜ: 9137 Επιβλέποντες: Ανδρέας Λ. Συμεωνίδης Αναπληρωτής Καθηγητής Α.Π.Θ. Διαμαντόπουλος Θεμιστοκλής Μεταδιδακτορικός Ερευνητής Διπλωματική Εργασία
  • 2. Περιεχόμενα 1. Εισαγωγή – Στόχος 2. Μεθοδολογία 1. Συλλογή Δεδομένων 2. Ανάλυση Δεδομένων – Ομαδοποίηση 3. Αποτελέσματα & Αξιολόγηση 4. Συμπεράσματα 5. Μελλοντικές Επεκτάσεις Μάρτιος 2022 Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης 2 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Μιχάλης Καρατζάς
  • 3. Εισαγωγή – Στόχοι Μάρτιος 2022 3 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 4. Εισαγωγή (1/3) • Τα σύγχρονα έργα λογισμικού: • μεγάλα, πολύπλοκα, διεισδύουν σε πολλές πτυχές του ανθρώπινου βίου • Σφάλματα έργων λογισμικού: • Προγραμματιστές ¼ του χρόνου τους σε εντοπισμό και διόρθωση • Μεγάλο κόστος για την βιομηχανία λογισμικού • 2 τρόποι αυτόματου εντοπισμού σφαλμάτων: • Δυναμική ανάλυση: πολύπλοκη, βασίζεται σε προδιαγραφές – όχι πάντα εφικτή • Στατική ανάλυση κώδικα: εντοπίζει γενικότερα σφάλματα Μάρτιος 2022 4 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 5. Εισαγωγή (2/3) • Στατική Ανάλυση: • πραγματοποιείται μέσω Εργαλείων Στατικής Ανάλυσης • γρήγορη, δεν απαιτεί απαραίτητα μεταγλωττισμένο κώδικα • ιδιαίτερο βιομηχανικό και ερευνητικό ενδιαφέρον τα τελευταία χρόνια • Ωστόσο δεν έχει αξιοποιηθεί λόγω: • Αναφορά υπερβολικά πολλών σφαλμάτων • False Positives • Προβλήματα στην κατανόηση των μηνυμάτων σφαλμάτων • Απαιτείται από τον προγραμματιστή να διορθώσει τα σφάλματα Μάρτιος 2022 5 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 6. Εισαγωγή (3/3) • 2 Κατευθύνσεις έρευνας για στατική ανάλυση: 1. Αυτοματοποιημένη διόρθωση σφαλμάτων, που εντοπίζονται μέσω στατικής ανάλυσης 2. Εξόρυξη προτύπων διόρθωσης, για σφάλματα στατικής ανάλυσης, στόχοι: • Εξαγωγή γενικών προτύπων, που εμπεριέχουν συλλογική γνώση •  Κατανόηση του τρόπου που οι προγραμματιστές αντιμετωπίζουν τέτοια σφάλματα. • Λειτουργούν ως βάση έμμεσα ή άμεσα για αποδοτικά συστήματα της πρώτης κατεύθυνσης. Μάρτιος 2022 6 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 7. Στόχος παρούσας εργασίας • Η ανάπτυξη ενός συστήματος, που θα εξορύξει, χρήσιμα πρότυπα διόρθωσης σφαλμάτων στατικής ανάλυσης γλώσσας JAVA: •  Αξιοποιείται το εργαλείο Στατικής Ανάλυσης PMD Μάρτιος 2022 7 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 8. Μεθοδολογία Μάρτιος 2022 8 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 9. Μεθοδολογία – Δομή Συστήματος Μάρτιος 2022 9 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 10. Συλλογή Δεδομένων (1/3) • εκτέλεση του PMD σε: • Δικό μας σύνολο δεδομένων αποτελούμενο από διορθώσεις όλων των κανόνων του PMD • Σύνολο δεδομένων αποτελούμενο από γενικότερες διορθώσεις κώδικα • Επιλογή 43 κανόνων (τύπων σφαλμάτων) του PMD που: • έχει νόημα η αναζήτηση προτύπων διόρθωσης • διορθώνονται από τους προγραμματιστές Μάρτιος 2022 10 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 11. Συλλογή Δεδομένων (2/3) • Λήψη commits από το Search API του Github: • Αναζήτηση commits, με βάση το message (π.χ. “PMD bug fix”). • Λήψη των εκδόσεων των αρχείων πριν και μετά την εφαρμογή των αλλαγών του commit Μάρτιος 2022 11 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 12. Συλλογή Δεδομένων (3/3) • Εκτέλεση του PMD: • Εκτέλεση του PMD με ενεργοποιημένους τους 43 κανόνες που επιλέχθηκαν. • Αναφορές για κάθε αρχείο για τις εκδόσεις του, πριν και μετά το commit. • Απομόνωση μόνο των σφαλμάτων που αναφέρονται από το PMD μόνο στην έκδοση του αρχείου πριν το commit • στην ύστερη πιθανώς έχουν διορθωθεί Μάρτιος 2022 12 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς  Έτσι: Δημιουργήθηκε κατάλληλο σύνολο δεδομένων από διορθώσεις, των κανόνων του PMD που επιλέχθηκαν.
  • 13. Ανάλυση Δεδομένων (1/10) • Επιλογή και εξαγωγή Αναπαράστασης Κώδικα • srcML - ( https://www.srcml.org/ ) : • XML για πηγαίο κώδικα. • Διατηρεί κενά – μορφοποίηση κώδικα. • Εξάγεται ακόμα και για οποιοδήποτε fragment κώδικα Μάρτιος 2022 13 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 14. Ανάλυση Δεδομένων (2/10) • Εξαγωγή srcml για: • τμήματα του github patch των commits, πριν και μετά από μια συγκεκριμένη διόρθωση: Μάρτιος 2022 14 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 15. Ανάλυση Δεδομένων (3/10) • Παράδειγμα εξαγωγής srcML για τμήμα κώδικα: Μάρτιος 2022 15 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς 
  • 16. Ανάλυση Δεδομένων (4/10) • Εξαγωγή διαφορών για τις διορθώσεις: • Ώστε να φανερώνονται οι δομικές αλλαγές κάθε διόρθωσης • Επιλογή αλγορίθμου απόστασης επεξεργασίας δέντρου (TED) Gumtree: • Εξαγωγή διαφορών σε επίπεδο srcML – αλληλουχία αλλαγών (update script) με 4 δυνατά βήματα: • Εισαγωγή (Insert) ενός νέου κόμβου/υποδέντρου • Διαγραφή (Delete) ενός προϋπάρχοντος κόμβου/υποδέντρου • Μετακίνηση (Move) ενός κόμβου/υποδέντρου σε άλλη θέση • Αλλαγή των τιμών (Update) ενός κόμβου ή των κόμβων ενός υποδέντρου Μάρτιος 2022 16 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 17. Ανάλυση Δεδομένων (5/10) • Εξαγωγή ακολουθιών όρων από τις διαφορές: • Ακολουθίες αποτελούμενες από: • Δομικούς όρους της srcML για γλώσσα JAVA • Βήματα αλλαγών (Insert, Delete, Move, Update) • Απαλλαγμένες από λεπτομέρειες (π.χ. ονόματα μεταβλητών) • Κάθε ακολουθία αντιπροσωπευτική μιας διόρθωσης • Ομοιότητα μεταξύ δύο διορθώσεων με εύρεση της μέγιστης κοινής υπακολουθίας (LCS) των ακολουθιών τους. Μάρτιος 2022 17 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 18. Ανάλυση Δεδομένων (6/10) • Εξαγωγή μοντέλου ομοιότητας από τις ακολουθίες: • Ομοιότητα μεταξύ 2 διορθώσεων (𝑓𝑖𝑥1, 𝑓𝑖𝑥2 ): 𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦(𝑓𝑖𝑥1, 𝑓𝑖𝑥2) = 2 ∙ |𝐿𝐶𝑆 𝑠𝑒𝑞1, 𝑠𝑒𝑞2 | 𝑠𝑒𝑞1 + |𝑠𝑒𝑞2| • όπου: • 𝑠𝑒𝑞1, 𝑠𝑒𝑞2: οι αντιπροσωπευτικές ακολουθίες των 𝑓𝑖𝑥1, 𝑓𝑖𝑥2 • 𝐿𝐶𝑆 𝑠𝑒𝑞1, 𝑠𝑒𝑞2 : μήκος μέγιστης κοινής υπακολουθίας μεταξύ 𝑠𝑒𝑞1, 𝑠𝑒𝑞2 • 𝑠𝑒𝑞𝑖 : μήκος της ακολουθίας 𝑠𝑒𝑞𝑖 • Εξαγωγή ενός πίνακα ομοιότητας για όλες τις διορθώσεις • Ομοιότητες στο διάστημα [0,1] •  εξαγωγή πίνακα αποστάσεων ως είσοδο για ομαδοποίηση • Κάθε κελί είναι 1 μείον το αντίστοιχό κελί του πίνακα ομοιότητας Μάρτιος 2022 18 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 19. Ανάλυση Δεδομένων (7/10) • Ομαδοποίηση: •  Σύνολο εκπαίδευσης: • 5596 διορθώσεις για 36 κανόνες του PMD • Αρχική Ανάλυση: • Θεωρούμε κάθε ομάδα ότι αποτελεί πρότυπο διόρθωσης του συχνότερου κανόνα της Μάρτιος 2022 19 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 20. Ανάλυση Δεδομένων (8/10) • Ομαδοποίηση με K-medoids: • Επιλογή K: • Χρήση αθροίσματος απόλυτων σφαλμάτων (sum of absolute errors –SAE): 𝑆𝐴𝐸 = 𝑖=1 𝐾 𝑝∈𝐶𝑖 𝑑𝑖𝑠𝑡(𝑝, 𝑚𝑖) • όπου: • 𝐾: ο αριθμός των ομάδων • 𝐶𝑖: η i-οστή ομάδα (cluster) • 𝑚𝑖: το κέντρο (medoid) της 𝐶𝑖 • 𝑑𝑖𝑠𝑡(𝑝, 𝑚𝑖): απόσταση μεταξύ του σημείου 𝑝 και του κέντρου 𝑚𝑖 • εκτέλεση από 2 έως 500 ομάδες: • Υπολογισμός 𝑆𝐴𝐸 • Επιλογή 𝐾 όπου υπάρχει γόνατο • Κ=56 Μάρτιος 2022 20 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 21. Ανάλυση Δεδομένων (9/10) • Ορισμός μετρικής Καθαρότητας Purity: • Purity i-οστής ομάδας: 𝑃𝑢𝑟𝑖𝑡𝑦𝑖 = max 𝑟∈𝑅 (𝑎𝑏𝑠𝑓𝑟𝑒𝑞 𝑟,𝐶𝑖 ) 𝑁𝑖 • όπου: • 𝑅: το σύνολο των κανόνων του PMD, άρα 𝑟 ένας κανόνας. • 𝑎𝑏𝑠𝑓𝑟𝑒𝑞 𝑟, 𝐶𝑖 : αριθμός των διορθώσεων της ομάδας 𝐶𝑖, που είναι για σφάλματα του κανόνα 𝑟 (η απόλυτη συχνότητα του r στην 𝐶𝑖) • 𝑁𝑖: το σύνολο των σημείων της ομάδας 𝐶𝑖 • Purity για την συνολική διαδικασία ομαδοποίησης: 𝑃𝑢𝑟𝑖𝑡𝑦 = 1 𝑁 𝐶𝑖∈𝑪 max 𝑟∈𝑅 (𝑎𝑏𝑠𝑓𝑟𝑒𝑞 𝑟, 𝐶𝑖 ) • όπου: • 𝑁: το πλήθος των σημείων που ομαδοποιούνται • 𝑪: τον σύνολο των ομάδων (clusters) που προκύπτει Μάρτιος 2022 21 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 22. Ανάλυση Δεδομένων (10/10) • Ομαδοποίηση με DBSCAN: • Παράμετροι minPts και 𝜀 • Επιλογή minPts =15: • Καθώς συμπίπτει με ελάχιστο αριθμό στοιχείων ομάδας  αποφυγή μικρών, απομονωμένων ομάδων • Συχνότερος κανόνας στις 51/56 ομάδες που προέκυψαν με K-medoids είχαν απόλυτη συχνότητα > 15 • Επιλογή 𝜀: • Χρήση μετρικής Purity για την ομαδοποίηση • Εκτέλεση για 𝜀 από 0.01 έως 0.5 με βήμα 0.01 • Επιλογή 𝜀 για μέγιστο Purity  𝜀=0.08 •  προέκυψαν 48 ομάδες Μάρτιος 2022 22 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 23. Αποτελέσματα & Αξιολόγηση Μάρτιος 2022 23 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 24. Αποτελέσματα με K-medoids (1/2) • Μετρικές • Mean Absolute Error : 𝑀𝐴𝐸 = 𝑆𝐴𝐸 𝑁 ≅ 0.125 • Ομαδοποιούνται μαζί αρκετά κοντινά σημεία (αποστάσεις στο [0,1]) • χωρίς να υπάρχει υπερεξειδίκευση • 𝑃𝑢𝑟𝑖𝑡𝑦 ≅ 0.76 • Σε μεγάλο βαθμό οι διορθώσεις ομαδοποιούνται με βάση τον κανόνα Μάρτιος 2022 24 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 25. Αποτελέσματα με K-medoids (2/2) • Αντιπροσωπευτικό δείγμα 20 ομάδων Μάρτιος 2022 25 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς • Γενικές Παρατηρήσεις: • Εξάγονται πρότυπα διόρθωσης για 29/36 κανόνες του συνόλου εκπαίδευσης • Πολλοί κανόνες έχουν 2 ή περισσότερα πρότυπα διόρθωσης (π.χ. ID=9 και ID=25) • Ομάδες γενικά έχουν υψηλό 𝑃𝑢𝑟𝑖𝑡𝑦, επομένως αποτελούνται κυρίως από διορθώσεις ενός μόνο κανόνα • 2/56 ομάδες έχουν Purity=1 • Ομάδες γενικά προκύπτουν από πολλά commits, repos
  • 26. Αποτελέσματα με DBSCAN (1/2) • Μετρικές • 𝑃𝑢𝑟𝑖𝑡𝑦 ≅ 0.93 • Οι διορθώσεις ομαδοποιούνται σε πολύ μεγάλο ποσοστό με βάση τον κανόνα Μάρτιος 2022 26 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 27. • Αντιπροσωπευτικό δείγμα 20 ομάδων Μάρτιος 2022 27 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς • Γενικές Παρατηρήσεις: • Εξάγονται πρότυπα διόρθωσης για 25/36 κανόνες του PMD του συνόλου εκπαίδευσης • Πολλοί κανόνες έχουν 2 ή περισσότερα πρότυπα διόρθωσης (π.χ. ID=27 και ID=41) • Ομάδες: πολύ υψηλό 𝑃𝑢𝑟𝑖𝑡𝑦 • 31/48 ομάδες έχουν Purity=1 • διορθώσεις 1 μόνο κανόνα • Ομάδες γενικά προκύπτουν από πολλά commits, repos • σε μικρότερο βαθμό από ότι με K-medoids • ID=17, μόνο 1 commit/repo • ID =30, μόνο 2 commits/repos Αποτελέσματα με DBSCAN (2/2)
  • 28. Συμπεράσματα-Μελλοντικές Επεκτάσεις Μάρτιος 2022 28 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 29. Συμπεράσματα • Και στις 2 ομαδοποιήσεις: • Ομάδες διορθώσεων με μεγάλο Purity • Purity ομαδοποίησης 0.76 για K-medoids, 0.93 για DBSCAN • DBSCAN: καταλληλότερος όπου απαιτούνται ομάδες αυστηρά καθορισμένες ως προς τους κανόνες (π.χ. αυτοματοποιημένη διόρθωση) • K-medoids: καταλληλότερος για εξαγωγή γενικότερων προτύπων διόρθωσης, όχι αυστηρά συνδεδεμένων με κανόνες • Ομάδες προκύπτουν από μεγάλο αριθμό commits και repos: • Τα εξαγόμενα πρότυπα διορθώσεων ενσωματώνουν συλλογική γνώση των προγραμματιστών για τέτοια προβλήματα Μάρτιος 2022 29 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 30. Πιθανές μελλοντικές επεκτάσεις • Εξαγωγή για κάθε πρότυπο διόρθωσης αφηρημένης αναπαράστασης σε επίπεδο κώδικα, ως ετικέτα π.χ. από άλλη έρευνα : • Ανάπτυξη ενός μηχανισμού αυτοματοποιημένης διόρθωσης, βασιζόμενο στα εξαγόμενα πρότυπα • Επέκταση της έρευνας και σε άλλες γλώσσες εκτός της Java Μάρτιος 2022 30 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 31. Ευχαριστίες • Θα ήθελα να ευχαριστήσω: • Τον Αναπληρωτή Καθηγητή Ανδρέα Λ. Συμεωνίδη • Τον Μεταδιδακτορικό Ερευνητή Θεμιστοκλή Διαμαντόπουλο • Όλους όσους παρακολουθήσατε την παρουσίασή μου Μάρτιος 2022 31 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς
  • 32. Ερωτήσεις ?? Μάρτιος 2022 32 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς