SlideShare uma empresa Scribd logo
1 de 28
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με
χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης
Διπλωματική Εργασία
1
Παπαμιχαήλ Μιχαήλ
ΑΕΜ: 7502
Υπό την επίβλεψη του Επίκουρου Καθηγητή
κ. Συμεωνίδη Ανδρέα
Και του υποψήφιου διδάκτορα
κ. Διαμαντόπουλου Θεμιστοκλή
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
2 H κατάσταση σήμερα…
 Εποχή της πληροφορίας.
 Εύκολα προσβάσιμη
 Τεράστιος Όγκος
 Πολυάριθμες μηχανές αναζήτησης κώδικα (GitHub, Searchcode…)
 Πολυάριθμα έργα ανοιχτού λογισμικού που οργανώνονται σε αποθετήρια.
 GitHub:
 9 εκατομμύρια χρήστες
 21 εκατομμύρια αποθετήρια
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
3
Διαδικασία παραγωγής λογισμικού σήμερα
queries Upload
code
CSEs
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
4
Code Quality Estimation System
Προσέγγιση:
 Χρήση των 100 δημοφιλέστερων αποθετηρίων του GitHub (24930 αρχεία κώδικα
java)
 Στατική ανάλυση
 Κατασκευή μοντέλου με χρήση νευρωνικών δικτύων για την εκτίμηση της
ποιότητας ενός αρχείου κώδικα.
 Κατασκευή ενός one class classifier με τη χρήση SVMs με στόχο να
διαπιστώνεται αν ένα αρχείο κώδικα ανήκει στο χώρο μελέτης.
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
5 PMD Analysis Tool
 Εύρεση “κακών πρακτικών” στη διαδικασία συγγραφής του κώδικα
 Πολυάριθμοι έλεγχοι (Rules) κατηγοριοποιημένοι σε ομάδες (Rulesets) π.χ.
Optimization, Coupling, Design….
 XML Report για κάθε αρχείο με το σύνολο των παραβιάσεων (violations)
Σημείο της
παραβίασης
Κανόνας που
παραβιάστηκε
Σετ κανόνων
Ορθή
αντιμετώπιση
Σημαντικότητα
παραβίασης
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
6 Google Code Pro Analytix
 Εξαγωγή μετρικών στατικής ανάλυσης σε XML report
 LOC (Lines Of Code)
 Average Block Depth
 Average Cyclomatic Complexity
 Abstractness
 Coupling (Afferent, Efferent)
 Distance
 Depth of Inheritance
 Comments Ratio
 Υποστηρίζει και άλλες λειτουργίες όπως Junit Testing, Code Coverage, Similar
Code Analysis
Συνολικά στην ανάλυση χρησιμοποιήθηκαν 73 μετρικές.
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
7
Από την προσέγγιση στην… Υλοποίηση
Training Set
Top 100
Repositories
GitHub
24930
files
Training
Set
 Ποιότητα;
 Target;
 Χρειάζονται
όλες;
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
8 Dataset – Ποιοτικά στοιχεία (1)
0,41%
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
9 Dataset – Ποιοτικά στοιχεία (2)
Ελάχιστο
ποσοστό
αρχείων με
critical
violations
Αναμενόμενη
εμφάνιση
μεγάλων τιμών
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
10
Training Target
 Ta Stars του κάθε αποθετηρίου.
Όμως:
 Αριθμός stars/αποθετήριο και όχι ανά file
 Είναι κάθε αρχείο ενός αποθετηρίου εξίσου σημαντικό;
 Μεγάλες διαφορές στον αριθμό των αρχείων κάθε
αποθετηρίου.
10000
x stars y stars z stars
Dependency
Analysis
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
11
Dependency analysis
Για το αρχείο i του αποθετηρίου j το target είναι:
𝑡𝑎𝑟𝑔𝑒𝑡 𝑖, 𝑗 = log
𝑠𝑡𝑎𝑟𝑠 𝑗
𝑓𝑖𝑙𝑒𝑠 𝑗
+
𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑐𝑖𝑒𝑠 𝑖
𝑓𝑖𝑙𝑒𝑠 𝑗
∗ 𝑠𝑡𝑎𝑟𝑠 𝑗
Εξισορρόπηση των
διαφορών στον
αριθμό των
αρχείων κάθε
αποθετηρίου
Αρχική ισάξια
συνεισφορά του κάθε
αρχείου στην
διαμόρφωση των
stars του
αποθετηρίου
Κατανομή των stars με
βάση το ποσοστό των
αρχείων του
αποθετηρίου που
εξαρτώνται από αυτό
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
12
Dependency analysis - Παράδειγμα
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
Αποθετήριο με 2000 αρχεία κώδικα και 10000 stars:
 Αρχείο (f1) από το οποίο εξαρτώνται 150 αρχεία
𝑠𝑡𝑎𝑟𝑠 𝑓1 = log(
10000
2000
+
150
2000
∗ 10000)
𝑠𝑡𝑎𝑟𝑠 𝑓1 = 2.8779
Αποθετήριο με 50 αρχεία κώδικα και 1000 stars:
 Αρχείο (f2) από το οποίο εξαρτώνται 10 αρχεία
𝑠𝑡𝑎𝑟𝑠 𝑓2 = log(
1000
50
+
10
50
∗ 1000)
𝑠𝑡𝑎𝑟𝑠 𝑓2 = 2.34
𝑠𝑡𝑎𝑟𝑠 𝑓2 = 220
𝑠𝑡𝑎𝑟𝑠 𝑓1 = 755
13
ΑΝΝs model
𝑖=1
𝑁
𝑋𝑖 𝑊𝑖,𝑗
𝑡𝑎𝑛𝑠𝑖𝑔
𝑖=1
𝑁
𝑋𝑖 𝑊𝑖,𝑗 + 𝑏(𝑗)
𝑌 = 𝑡𝑎𝑛𝑠𝑖𝑔
𝑖=1
𝑁
𝐾𝑖 𝑊𝑖 + 𝑏
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
14
ΑΝΝs model
Το μοντέλο είναι σε θέση
να εκτιμήσει το target
set με μέσο σφάλμα 13%
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
15
ΑΝΝs model
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
16
SVMs One Class Classifier
 Ανάγκη οριοθέτησης του χώρου μελέτης ο οποίος αποτελείται από κώδικα που
καλύπτει κάποιες ελάχιστες προδιαγραφές ποιότητας
 Θα χρησιμοποιηθούν όλες οι μετρικές;
 Αν όχι ποιες και ποιο θα είναι το κριτήριο επιλογής;
Principal
Component
Analysis
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
17
PCA – Principal Component Analysis
Component
Initial Eigenvalues
Total % of Variance Cumulative %
1 14.936 20.460 20.460
2 4.821 6.604 27.064
3 4.735 6.486 33.551
4 4.276 5.858 39.408
5 3.930 5.383 44.791
6 3.692 5.057 49.848
7 3.561 4.879 54.727
8 2.816 3.857 58.584
9 2.566 3.516 62.100
10 2.376 3.255 65.354
11 2.154 2.951 68.305
12 2.082 2.852 71.158
13 1.921 2.632 73.789
14 1.791 2.453 76.243
15 1.733 2.374 78.617
16 1.373 1.881 80.498
17 1.249 1.711 82.209
18 1.152 1.578 83.788
19 1.029 1.410 85.198
20 1.002 1.373 86.571
 Average Block Depth
 Average Cyclomatic
Complexity
 Average Depth of
Inheritance Hierarchy
 Average Lines of Code
per Method
 Comments Ratio
 Distance
 Lines of Code
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
18
SVMs One Class Classifier
𝑥, 𝑦 = exp(
− 𝑥 − 𝑦
2
2𝜎2 )
 Χρήση Gaussian radial basis kernel function
 Gamma Parameter (1/σ2) = 0.04
 Tolerance = 0.001
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
19
Τελικό σύστημα
Static
Analysis
Metrics
One class
Classifier
Neural
Networks
Model
Pass
Fail Επανεξέταση
Rating
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
20
Πειράματα
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
21 Πειράματα
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
22 Πειράματα
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
23 Services που υλοποιήθηκαν
 Command Line Tool
 Web Service
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
24
Command Line Tool
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
25 Web Service
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
26 Συμπεράσματα
 Αξιόπιστη μετάφραση μετρικών στατικής ανάλυσης σε εκτίμηση ποιότητας κώδικα.
 Χρήση του συστήματος που υλοποιήθηκε ως αυτόνομο εργαλείο στατικής
ανάλυσης και εντοπισμού κακών πρακτικών συγγραφής κώδικα.
 Δυνατότητα χρήσης του συστήματος ως middleware στη διαδικασία εύρεσης
κώδικα για την αξιολόγηση των αποτελεσμάτων.
 Τα πειράματα έδειξαν ότι το σύστημα είναι σε θέση να εντοπίζει με μικρό
ποσοστό λάθους τα αρχεία κώδικα που αποκλίνουν από τις ενδεικνυόμενες τιμές
στατικής ανάλυσης.
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
27 Ανοιχτά Θέματα
 Προσθήκη μηχανισμού δυναμικής ανάλυσης
 Εφαρμογή και για άλλες γλώσσες προγραμματισμού
 Περιορισμός των μετρικών για γρηγορότερη εκτέλεση
 Δυνατότητα συνδυασμού αποτελεσμάτων
 Δυνατότητα βελτίωσης αποτελεσμάτων
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
28
Σας ευχαριστώ πολύ για την προσοχή σας
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015

Mais conteúdo relacionado

Semelhante a Μιχαήλ Παπαμιχαήλ

Development of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous IntegrationDevelopment of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous IntegrationISSEL
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούISSEL
 
Χατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηΧατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηISSEL
 
Ιωάννης Τσαφαράς
Ιωάννης ΤσαφαράςΙωάννης Τσαφαράς
Ιωάννης ΤσαφαράςISSEL
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...ISSEL
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...ISSEL
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...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...
Design and Implementation of a Mechanism that automates the generation of Sof...ISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Ιoannis Αgrotis
Ιoannis ΑgrotisΙoannis Αgrotis
Ιoannis ΑgrotisISSEL
 
Βασίλειος Λώλης 5638
Βασίλειος Λώλης 5638Βασίλειος Λώλης 5638
Βασίλειος Λώλης 5638ISSEL
 
Bagia Rousopoulou
Bagia RousopoulouBagia Rousopoulou
Bagia RousopoulouISSEL
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...ISSEL
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...ISSEL
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485ISSEL
 
Μιλτιάδης Σιάββας 7523
Μιλτιάδης Σιάββας 7523Μιλτιάδης Σιάββας 7523
Μιλτιάδης Σιάββας 7523ISSEL
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουISSEL
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185ISSEL
 

Semelhante a Μιχαήλ Παπαμιχαήλ (20)

Development of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous IntegrationDevelopment of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous Integration
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
 
Χατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηΧατζηελευθερίου Ειρήνη
Χατζηελευθερίου Ειρήνη
 
Ιωάννης Τσαφαράς
Ιωάννης ΤσαφαράςΙωάννης Τσαφαράς
Ιωάννης Τσαφαράς
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
 
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...
Design and Implementation of a Mechanism that automates the generation of Sof...
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Ιoannis Αgrotis
Ιoannis ΑgrotisΙoannis Αgrotis
Ιoannis Αgrotis
 
Βασίλειος Λώλης 5638
Βασίλειος Λώλης 5638Βασίλειος Λώλης 5638
Βασίλειος Λώλης 5638
 
KanoutasThomasThesis
KanoutasThomasThesisKanoutasThomasThesis
KanoutasThomasThesis
 
Bagia Rousopoulou
Bagia RousopoulouBagia Rousopoulou
Bagia Rousopoulou
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
 
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...
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Μιλτιάδης Σιάββας 7523
Μιλτιάδης Σιάββας 7523Μιλτιάδης Σιάββας 7523
Μιλτιάδης Σιάββας 7523
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
 

Mais de 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
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής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
 

Mais de 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...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 

Último

ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΧρύσα Παπακωνσταντίνου
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxeucharis
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx36dimperist
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑDimitra Mylonaki
 
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της ΙταλίαςKonstantina Katirtzi
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx36dimperist
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx36dimperist
 
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008Θεόδωρος Μαραγκούλας
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψειςDimitra Mylonaki
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYssuser369a35
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptxAthina Tziaki
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηTheodora Chandrinou
 

Último (18)

ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
 
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 10ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 10ο Γυμνάσιο Πάτρας
Επίσκεψη στο 10ο Γυμνάσιο Πάτρας
 
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη          στο 12ο Γυμνάσιο ΠάτραςΕπίσκεψη          στο 12ο Γυμνάσιο Πάτρας
Επίσκεψη στο 12ο Γυμνάσιο Πάτρας
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψεις
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Γ΄ ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 

Μιχαήλ Παπαμιχαήλ

  • 1. Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Διπλωματική Εργασία 1 Παπαμιχαήλ Μιχαήλ ΑΕΜ: 7502 Υπό την επίβλεψη του Επίκουρου Καθηγητή κ. Συμεωνίδη Ανδρέα Και του υποψήφιου διδάκτορα κ. Διαμαντόπουλου Θεμιστοκλή Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 2. 2 H κατάσταση σήμερα…  Εποχή της πληροφορίας.  Εύκολα προσβάσιμη  Τεράστιος Όγκος  Πολυάριθμες μηχανές αναζήτησης κώδικα (GitHub, Searchcode…)  Πολυάριθμα έργα ανοιχτού λογισμικού που οργανώνονται σε αποθετήρια.  GitHub:  9 εκατομμύρια χρήστες  21 εκατομμύρια αποθετήρια Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 3. 3 Διαδικασία παραγωγής λογισμικού σήμερα queries Upload code CSEs Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 4. 4 Code Quality Estimation System Προσέγγιση:  Χρήση των 100 δημοφιλέστερων αποθετηρίων του GitHub (24930 αρχεία κώδικα java)  Στατική ανάλυση  Κατασκευή μοντέλου με χρήση νευρωνικών δικτύων για την εκτίμηση της ποιότητας ενός αρχείου κώδικα.  Κατασκευή ενός one class classifier με τη χρήση SVMs με στόχο να διαπιστώνεται αν ένα αρχείο κώδικα ανήκει στο χώρο μελέτης. Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 5. 5 PMD Analysis Tool  Εύρεση “κακών πρακτικών” στη διαδικασία συγγραφής του κώδικα  Πολυάριθμοι έλεγχοι (Rules) κατηγοριοποιημένοι σε ομάδες (Rulesets) π.χ. Optimization, Coupling, Design….  XML Report για κάθε αρχείο με το σύνολο των παραβιάσεων (violations) Σημείο της παραβίασης Κανόνας που παραβιάστηκε Σετ κανόνων Ορθή αντιμετώπιση Σημαντικότητα παραβίασης Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 6. 6 Google Code Pro Analytix  Εξαγωγή μετρικών στατικής ανάλυσης σε XML report  LOC (Lines Of Code)  Average Block Depth  Average Cyclomatic Complexity  Abstractness  Coupling (Afferent, Efferent)  Distance  Depth of Inheritance  Comments Ratio  Υποστηρίζει και άλλες λειτουργίες όπως Junit Testing, Code Coverage, Similar Code Analysis Συνολικά στην ανάλυση χρησιμοποιήθηκαν 73 μετρικές. Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 7. 7 Από την προσέγγιση στην… Υλοποίηση Training Set Top 100 Repositories GitHub 24930 files Training Set  Ποιότητα;  Target;  Χρειάζονται όλες; Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 8. 8 Dataset – Ποιοτικά στοιχεία (1) 0,41% Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 9. 9 Dataset – Ποιοτικά στοιχεία (2) Ελάχιστο ποσοστό αρχείων με critical violations Αναμενόμενη εμφάνιση μεγάλων τιμών Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 10. 10 Training Target  Ta Stars του κάθε αποθετηρίου. Όμως:  Αριθμός stars/αποθετήριο και όχι ανά file  Είναι κάθε αρχείο ενός αποθετηρίου εξίσου σημαντικό;  Μεγάλες διαφορές στον αριθμό των αρχείων κάθε αποθετηρίου. 10000 x stars y stars z stars Dependency Analysis Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 11. 11 Dependency analysis Για το αρχείο i του αποθετηρίου j το target είναι: 𝑡𝑎𝑟𝑔𝑒𝑡 𝑖, 𝑗 = log 𝑠𝑡𝑎𝑟𝑠 𝑗 𝑓𝑖𝑙𝑒𝑠 𝑗 + 𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑐𝑖𝑒𝑠 𝑖 𝑓𝑖𝑙𝑒𝑠 𝑗 ∗ 𝑠𝑡𝑎𝑟𝑠 𝑗 Εξισορρόπηση των διαφορών στον αριθμό των αρχείων κάθε αποθετηρίου Αρχική ισάξια συνεισφορά του κάθε αρχείου στην διαμόρφωση των stars του αποθετηρίου Κατανομή των stars με βάση το ποσοστό των αρχείων του αποθετηρίου που εξαρτώνται από αυτό Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 12. 12 Dependency analysis - Παράδειγμα Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015 Αποθετήριο με 2000 αρχεία κώδικα και 10000 stars:  Αρχείο (f1) από το οποίο εξαρτώνται 150 αρχεία 𝑠𝑡𝑎𝑟𝑠 𝑓1 = log( 10000 2000 + 150 2000 ∗ 10000) 𝑠𝑡𝑎𝑟𝑠 𝑓1 = 2.8779 Αποθετήριο με 50 αρχεία κώδικα και 1000 stars:  Αρχείο (f2) από το οποίο εξαρτώνται 10 αρχεία 𝑠𝑡𝑎𝑟𝑠 𝑓2 = log( 1000 50 + 10 50 ∗ 1000) 𝑠𝑡𝑎𝑟𝑠 𝑓2 = 2.34 𝑠𝑡𝑎𝑟𝑠 𝑓2 = 220 𝑠𝑡𝑎𝑟𝑠 𝑓1 = 755
  • 13. 13 ΑΝΝs model 𝑖=1 𝑁 𝑋𝑖 𝑊𝑖,𝑗 𝑡𝑎𝑛𝑠𝑖𝑔 𝑖=1 𝑁 𝑋𝑖 𝑊𝑖,𝑗 + 𝑏(𝑗) 𝑌 = 𝑡𝑎𝑛𝑠𝑖𝑔 𝑖=1 𝑁 𝐾𝑖 𝑊𝑖 + 𝑏 Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 14. 14 ΑΝΝs model Το μοντέλο είναι σε θέση να εκτιμήσει το target set με μέσο σφάλμα 13% Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 15. 15 ΑΝΝs model Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 16. 16 SVMs One Class Classifier  Ανάγκη οριοθέτησης του χώρου μελέτης ο οποίος αποτελείται από κώδικα που καλύπτει κάποιες ελάχιστες προδιαγραφές ποιότητας  Θα χρησιμοποιηθούν όλες οι μετρικές;  Αν όχι ποιες και ποιο θα είναι το κριτήριο επιλογής; Principal Component Analysis Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 17. 17 PCA – Principal Component Analysis Component Initial Eigenvalues Total % of Variance Cumulative % 1 14.936 20.460 20.460 2 4.821 6.604 27.064 3 4.735 6.486 33.551 4 4.276 5.858 39.408 5 3.930 5.383 44.791 6 3.692 5.057 49.848 7 3.561 4.879 54.727 8 2.816 3.857 58.584 9 2.566 3.516 62.100 10 2.376 3.255 65.354 11 2.154 2.951 68.305 12 2.082 2.852 71.158 13 1.921 2.632 73.789 14 1.791 2.453 76.243 15 1.733 2.374 78.617 16 1.373 1.881 80.498 17 1.249 1.711 82.209 18 1.152 1.578 83.788 19 1.029 1.410 85.198 20 1.002 1.373 86.571  Average Block Depth  Average Cyclomatic Complexity  Average Depth of Inheritance Hierarchy  Average Lines of Code per Method  Comments Ratio  Distance  Lines of Code Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 18. 18 SVMs One Class Classifier 𝑥, 𝑦 = exp( − 𝑥 − 𝑦 2 2𝜎2 )  Χρήση Gaussian radial basis kernel function  Gamma Parameter (1/σ2) = 0.04  Tolerance = 0.001 Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 19. 19 Τελικό σύστημα Static Analysis Metrics One class Classifier Neural Networks Model Pass Fail Επανεξέταση Rating Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 20. 20 Πειράματα Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 21. 21 Πειράματα Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 22. 22 Πειράματα Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 23. 23 Services που υλοποιήθηκαν  Command Line Tool  Web Service Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 24. 24 Command Line Tool Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 25. 25 Web Service Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 26. 26 Συμπεράσματα  Αξιόπιστη μετάφραση μετρικών στατικής ανάλυσης σε εκτίμηση ποιότητας κώδικα.  Χρήση του συστήματος που υλοποιήθηκε ως αυτόνομο εργαλείο στατικής ανάλυσης και εντοπισμού κακών πρακτικών συγγραφής κώδικα.  Δυνατότητα χρήσης του συστήματος ως middleware στη διαδικασία εύρεσης κώδικα για την αξιολόγηση των αποτελεσμάτων.  Τα πειράματα έδειξαν ότι το σύστημα είναι σε θέση να εντοπίζει με μικρό ποσοστό λάθους τα αρχεία κώδικα που αποκλίνουν από τις ενδεικνυόμενες τιμές στατικής ανάλυσης. Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 27. 27 Ανοιχτά Θέματα  Προσθήκη μηχανισμού δυναμικής ανάλυσης  Εφαρμογή και για άλλες γλώσσες προγραμματισμού  Περιορισμός των μετρικών για γρηγορότερη εκτέλεση  Δυνατότητα συνδυασμού αποτελεσμάτων  Δυνατότητα βελτίωσης αποτελεσμάτων Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015
  • 28. 28 Σας ευχαριστώ πολύ για την προσοχή σας Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης ποιότητας κώδικα με χρήση μετρικών στατικής ανάλυσης και τεχνικών μηχανικής μάθησης Οκτώβριος 2015