More Related Content

Slideshows for you(15)

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

More from ISSEL(20)

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 Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφάλματα Στατικής Ανάλυσης Μιχάλης Καρατζάς