SlideShare a Scribd company logo
1 of 27
Ιωάννης Π. Γκιλίρης
Υπό την επίβλεψη του κ. Ανδρέα Λ. Συμεωνίδη
Επίκουρου καθηγητή του ΤΗΜΜΥ ΑΠΘ
Και του κ. Χατζηδημητρίου Κυριάκου
Μεταδιδακτορικού ερευνητή του ΤΗΜΜΥ ΑΠΘ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ (ΕΠΥ)
Σκοπός της διπλωματικής εργασίας
 Εύρεση των αναδυόμενων πρακτικών προγραμματισμού σε μία
δυναμική γλώσσα όπως η JavaScript
 Δημιουργία του package statLint για το Atom IDE του GitHub
που θα έχει τον ρόλο ενός statistical linter
Πακέτο ανοικτού κώδικα (open source)
Εργαλείο στατικής ανάλυσης κώδικα για τον εντοπισμό
διαφορών από κοινές πρακτικές
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 2
Για ποιο λόγο η JavaScript ;
 Αποτελεί τη κυρίαρχη γλώσσα για τη δημιουργία διαδικτυακών
εφαρμογών
94.1 % όλων των websites χρησιμοποιούν τη JavaScript
 Ο δυναμικός χαρακτήρας της γλώσσας οδηγεί σε πολύ μεγάλη
ευελιξία και ποικιλομορφία κατά την ανάπτυξη των εφαρμογών
 Είναι interpreted γλώσσα γεγονός που αναδεικνύει την
χρησιμότητα ενός linter με νέα χαρακτηριστικά
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 3
Αναδυόμενες πρακτικές ;
 Function Signatures
 _.map([1, 2, 3], function(num){ return num * 3; });
 Function Chains
 _.keys(data).forEach(function(id){ alert(id.Name);});
 Assignments και επιστρεφόμενες τιμές από τις κλήσεις
μεθόδων και αλυσίδων
 var new = ([1, 2, 3]).reverse();
 Δηλώσεις νέων μεταβλητών
 var data = [{“Name”: “John”}, {“Name”: “Maria”}];
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 4
Σε ποιους απευθύνεται το statLint
 Σε αρχάριους προγραμματιστές που εξοικειώνονται με τη
γλώσσα και το web developing
 Σε ομάδες ανάπτυξης λογισμικού που επιθυμούν μία το δυνατό
μεγαλύτερη συνοχή και ομοιομορφία στο λογισμικό που
αναπτύσσουν
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 5
Δομή του συστήματος εκπαίδευσης
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 6
Η μετρική για το Scoring
 Η στατιστική μετρική:
(term frequency x modified document frequency)
 Ως term θεωρούμε:
1. Κάθε εναλλακτική υπογραφή μιας μεθόδου
2. Κάθε διαφορετικό συνδυασμό αλυσίδας από συγκεκριμένες μεθόδους
3. Κάθε διαφορετικό τύπο αρχικοποίησης νέων μεταβλητών
 Ως document θεωρούμε κάθε ένα από τα projects του
αποθετηρίου αναφοράς
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 7
mdftf 
 Ο modified df δείκτης υπολογίζεται ως εξής:
 Θέλουμε να διατηρήσουμε μία λογαριθμική σχέση ανάμεσα
στον αριθμό των projects και την τιμή του δείκτη
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 8
Η μετρική για το Scoring









N
projects
mdf 1log
Preprocessor
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 9
Φιλτράρισμα αρχείων
Οργάνωση σε φακέλους
Parser
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 10
Εξαγωγή AST (Abstract Syntax Trees)
Esprima Parser
Training #1
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 11
Συλλογή δεδομένων για τις υπογραφές και τα
assignments μεθόδων
Αρχείο εξόδου: functionSignatures.json
Training #1: Εγγραφές Αρχείου
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 12
Training #2
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 13
Συλλογή δεδομένων για τις αλυσίδες και τα
assignments μεθόδων
Αρχείο εξόδου: functionChains.json
Training #2: Εγγραφές αρχείου
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 14
Training #3
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 15
Συλλογή δεδομένων για τις δηλώσεις μεταβλητών
Αρχείο εξόδου: varDeclarations.json
Δομή του statLint
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 16
Δοκιμές του statLint
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 17
Πείραμα 1: Cross-validation
(GitHub Dataset)
 Οι δείκτες warnings / seen LOC για τα τρία επίπεδα
αυστηρότητας:
 Dataset: 100 δημοφιλέστερα projects στο GitHub
 10-fold cross-validation
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 18
Επίπεδο Αυστηρότητας Warnings / seen LOC (%)
1 45.37
2 32.01
3 27.94
Πείραμα 2: Cross-validation testing
(D3 Dataset)
 Οι δείκτες warnings / seen LOC για τα τρία επίπεδα
αυστηρότητας:
 Dataset: 200 projects από τους προγραμματιστές της D3
 10-fold cross-validation
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 19
Επίπεδο Αυστηρότητας Warnings / seen LOC (%)
1 24.97
2 13.88
3 11.85
Cross-validation: Σύγκριση
0
5
10
15
20
25
30
35
40
45
50
Level 1 Level 2 Level 3
GitHub
D3
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 20
GitHub Dataset D3 Dataset
 Κριτήριο επιλογής: η δημοτικότητα
 100 δημοφιλέστερα projects, βάσει
του αριθμού των stars
 Ισχυρότερα πειστήρια σχετικά:
 τόσο με την αξιοπιστία των
projects
 όσο και με την ομοιομορφία τους
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 21
Cross-validation: Σύγκριση
Πείραμα 3: Σύγκριση με το PMD
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 22
LOC LOC seen by statLint PMD (%) statLint ( % )
twitter-typeahead 10,602 1,261 1.5 25.46
jquery-mobile 91,891 5,063 0.52 30.15
mrdoob-three 90,661 10,663 9.06 30.27
ecomfe-echarts 69,388 8,645 6.24 28.58
resume 626 85 1.6 27.05
uBlock 13,503 1,741 2.55 26.3
socketio-socket 2,832 476 0.5 19.11
alvarotrigo-fullpage 3,577 428 0.81 17.28
caolan-async 7,026 785 1.25 25.35
peachananr-scroll 344 51 15.69 35.29
 Ο συντελεστής συσχέτισης (Pearson Correlation Coefficient)
ανάμεσα στα 2 διανύσματα-στήλες είναι: 0.7331
 Παρατηρείται σημαντική συσχέτιση
 Πιθανή θετική αξιολόγηση ενός αρχείου κώδικα από το PMD
⇒ Πολύ πιθανή θετική αξιολόγηση από το statLint
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 23
Πείραμα 3: Σύγκριση με το PMD
Συμπεράσματα
 Απλές, αλλά εξίσου δυναμικές πρακτικές συμβάλουν στις
τεχνικές του MSR (Mining Software Repositories)
 Online κοινότητες, όπως αυτή του GitHub, αναδεικνύουν τη
δύναμη της συνεργασίας και της συλλογικής νοημοσύνης
 Ένας statistical linter μπορεί να αντικατοπτρίσει τις
εμφανιζόμενες αλλαγές
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 24
Μελλοντική Εργασία
 Υποστήριξη και άλλων εκδόσεων της JavaScript
 CoffeeScript
 Τελευταία έκδοση της γλώσσας (ECMAScript6)
 Χρησιμοποίηση μεγαλύτερου όγκου δεδομένων
 Να εξεταστεί κατά πόσο υπάρχει βελτίωση
 Πιθανή ανάγκη για μία online ΒΔ
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 25
Ευχαριστίες
 Θα ήθελα να ευχαριστήσω τους επιβλέποντες της
διπλωματικής μου εργασίας, κ. Ανδρέα Συμεωνίδη και
κ. Κυριάκο Χατζηδημητρίου για τη συνεχή βοήθεια και
καθοδήγησή τους.
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 26
Ερωτήσεις
Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 27

More Related Content

Viewers also liked

Μαρία Κωτούζα 7714
Μαρία Κωτούζα 7714Μαρία Κωτούζα 7714
Μαρία Κωτούζα 7714ISSEL
 
Towards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentTowards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentISSEL
 
Ελευθέριος Χατζηπέτρου
Ελευθέριος ΧατζηπέτρουΕλευθέριος Χατζηπέτρου
Ελευθέριος ΧατζηπέτρουISSEL
 
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...ISSEL
 
Bagia Rousopoulou
Bagia RousopoulouBagia Rousopoulou
Bagia RousopoulouISSEL
 
Κρασανάκης Εμμανουήλ
Κρασανάκης ΕμμανουήλΚρασανάκης Εμμανουήλ
Κρασανάκης ΕμμανουήλISSEL
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485ISSEL
 
Ουζούνης Γεώργιος
Ουζούνης ΓεώργιοςΟυζούνης Γεώργιος
Ουζούνης ΓεώργιοςISSEL
 
Βασίλειος Λώλης 5638
Βασίλειος Λώλης 5638Βασίλειος Λώλης 5638
Βασίλειος Λώλης 5638ISSEL
 
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis MetricsUser-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis MetricsISSEL
 
Νικηφόρος Σακκάς
Νικηφόρος Σακκάς Νικηφόρος Σακκάς
Νικηφόρος Σακκάς ISSEL
 
Πάρης Λαγάκης 7200
Πάρης Λαγάκης 7200Πάρης Λαγάκης 7200
Πάρης Λαγάκης 7200ISSEL
 

Viewers also liked (12)

Μαρία Κωτούζα 7714
Μαρία Κωτούζα 7714Μαρία Κωτούζα 7714
Μαρία Κωτούζα 7714
 
Towards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentTowards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services Development
 
Ελευθέριος Χατζηπέτρου
Ελευθέριος ΧατζηπέτρουΕλευθέριος Χατζηπέτρου
Ελευθέριος Χατζηπέτρου
 
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
 
Bagia Rousopoulou
Bagia RousopoulouBagia Rousopoulou
Bagia Rousopoulou
 
Κρασανάκης Εμμανουήλ
Κρασανάκης ΕμμανουήλΚρασανάκης Εμμανουήλ
Κρασανάκης Εμμανουήλ
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Ουζούνης Γεώργιος
Ουζούνης ΓεώργιοςΟυζούνης Γεώργιος
Ουζούνης Γεώργιος
 
Βασίλειος Λώλης 5638
Βασίλειος Λώλης 5638Βασίλειος Λώλης 5638
Βασίλειος Λώλης 5638
 
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis MetricsUser-Perceived Source Code Quality Estimation based on Static Analysis Metrics
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
 
Νικηφόρος Σακκάς
Νικηφόρος Σακκάς Νικηφόρος Σακκάς
Νικηφόρος Σακκάς
 
Πάρης Λαγάκης 7200
Πάρης Λαγάκης 7200Πάρης Λαγάκης 7200
Πάρης Λαγάκης 7200
 

Similar to Γκιλίρης Ιωάννης 7419

Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Theofilos Georgiadis: Library recommendation system for the reuse of software...
Theofilos Georgiadis: Library recommendation system for the reuse of software...Theofilos Georgiadis: Library recommendation system for the reuse of software...
Theofilos Georgiadis: Library recommendation system for the reuse of software...Manos Tsardoulias
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλISSEL
 
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGYDATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGYGeorgeDiamandis11
 
Stelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationISSEL
 
Nikolaos Oikonomou
Nikolaos OikonomouNikolaos Oikonomou
Nikolaos OikonomouISSEL
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis LoiasISSEL
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010ISSEL
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185ISSEL
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...ISSEL
 
Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...ISSEL
 
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...WROHellas
 
Κλέαρχος Θωμόπουλος 7435
Κλέαρχος Θωμόπουλος 7435Κλέαρχος Θωμόπουλος 7435
Κλέαρχος Θωμόπουλος 7435ISSEL
 
Νούτσος Αντώνης 6992
Νούτσος Αντώνης 6992Νούτσος Αντώνης 6992
Νούτσος Αντώνης 6992ISSEL
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...ISSEL
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationISSEL
 
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...ISSEL
 
Dimitrios Rakantas
Dimitrios RakantasDimitrios Rakantas
Dimitrios RakantasISSEL
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationISSEL
 

Similar to Γκιλίρης Ιωάννης 7419 (20)

Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Theofilos Georgiadis: Library recommendation system for the reuse of software...
Theofilos Georgiadis: Library recommendation system for the reuse of software...Theofilos Georgiadis: Library recommendation system for the reuse of software...
Theofilos Georgiadis: Library recommendation system for the reuse of software...
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ Παπαμιχαήλ
 
KanoutasThomasThesis
KanoutasThomasThesisKanoutasThomasThesis
KanoutasThomasThesis
 
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGYDATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
 
Stelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentation
 
Nikolaos Oikonomou
Nikolaos OikonomouNikolaos Oikonomou
Nikolaos Oikonomou
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis Loias
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
 
Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...
 
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
 
Κλέαρχος Θωμόπουλος 7435
Κλέαρχος Θωμόπουλος 7435Κλέαρχος Θωμόπουλος 7435
Κλέαρχος Θωμόπουλος 7435
 
Νούτσος Αντώνης 6992
Νούτσος Αντώνης 6992Νούτσος Αντώνης 6992
Νούτσος Αντώνης 6992
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis Presentation
 
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
 
Dimitrios Rakantas
Dimitrios RakantasDimitrios Rakantas
Dimitrios Rakantas
 
Kagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis PresentationKagiafas Nikolaos Thesis Presentation
Kagiafas Nikolaos Thesis Presentation
 

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
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού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
 

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...
 

Γκιλίρης Ιωάννης 7419

  • 1. Ιωάννης Π. Γκιλίρης Υπό την επίβλεψη του κ. Ανδρέα Λ. Συμεωνίδη Επίκουρου καθηγητή του ΤΗΜΜΥ ΑΠΘ Και του κ. Χατζηδημητρίου Κυριάκου Μεταδιδακτορικού ερευνητή του ΤΗΜΜΥ ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ (ΕΠΥ)
  • 2. Σκοπός της διπλωματικής εργασίας  Εύρεση των αναδυόμενων πρακτικών προγραμματισμού σε μία δυναμική γλώσσα όπως η JavaScript  Δημιουργία του package statLint για το Atom IDE του GitHub που θα έχει τον ρόλο ενός statistical linter Πακέτο ανοικτού κώδικα (open source) Εργαλείο στατικής ανάλυσης κώδικα για τον εντοπισμό διαφορών από κοινές πρακτικές Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 2
  • 3. Για ποιο λόγο η JavaScript ;  Αποτελεί τη κυρίαρχη γλώσσα για τη δημιουργία διαδικτυακών εφαρμογών 94.1 % όλων των websites χρησιμοποιούν τη JavaScript  Ο δυναμικός χαρακτήρας της γλώσσας οδηγεί σε πολύ μεγάλη ευελιξία και ποικιλομορφία κατά την ανάπτυξη των εφαρμογών  Είναι interpreted γλώσσα γεγονός που αναδεικνύει την χρησιμότητα ενός linter με νέα χαρακτηριστικά Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 3
  • 4. Αναδυόμενες πρακτικές ;  Function Signatures  _.map([1, 2, 3], function(num){ return num * 3; });  Function Chains  _.keys(data).forEach(function(id){ alert(id.Name);});  Assignments και επιστρεφόμενες τιμές από τις κλήσεις μεθόδων και αλυσίδων  var new = ([1, 2, 3]).reverse();  Δηλώσεις νέων μεταβλητών  var data = [{“Name”: “John”}, {“Name”: “Maria”}]; Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 4
  • 5. Σε ποιους απευθύνεται το statLint  Σε αρχάριους προγραμματιστές που εξοικειώνονται με τη γλώσσα και το web developing  Σε ομάδες ανάπτυξης λογισμικού που επιθυμούν μία το δυνατό μεγαλύτερη συνοχή και ομοιομορφία στο λογισμικό που αναπτύσσουν Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 5
  • 6. Δομή του συστήματος εκπαίδευσης Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 6
  • 7. Η μετρική για το Scoring  Η στατιστική μετρική: (term frequency x modified document frequency)  Ως term θεωρούμε: 1. Κάθε εναλλακτική υπογραφή μιας μεθόδου 2. Κάθε διαφορετικό συνδυασμό αλυσίδας από συγκεκριμένες μεθόδους 3. Κάθε διαφορετικό τύπο αρχικοποίησης νέων μεταβλητών  Ως document θεωρούμε κάθε ένα από τα projects του αποθετηρίου αναφοράς Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 7 mdftf 
  • 8.  Ο modified df δείκτης υπολογίζεται ως εξής:  Θέλουμε να διατηρήσουμε μία λογαριθμική σχέση ανάμεσα στον αριθμό των projects και την τιμή του δείκτη Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 8 Η μετρική για το Scoring          N projects mdf 1log
  • 9. Preprocessor Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 9 Φιλτράρισμα αρχείων Οργάνωση σε φακέλους
  • 10. Parser Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 10 Εξαγωγή AST (Abstract Syntax Trees) Esprima Parser
  • 11. Training #1 Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 11 Συλλογή δεδομένων για τις υπογραφές και τα assignments μεθόδων Αρχείο εξόδου: functionSignatures.json
  • 12. Training #1: Εγγραφές Αρχείου Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 12
  • 13. Training #2 Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 13 Συλλογή δεδομένων για τις αλυσίδες και τα assignments μεθόδων Αρχείο εξόδου: functionChains.json
  • 14. Training #2: Εγγραφές αρχείου Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 14
  • 15. Training #3 Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 15 Συλλογή δεδομένων για τις δηλώσεις μεταβλητών Αρχείο εξόδου: varDeclarations.json
  • 16. Δομή του statLint Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 16
  • 17. Δοκιμές του statLint Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 17
  • 18. Πείραμα 1: Cross-validation (GitHub Dataset)  Οι δείκτες warnings / seen LOC για τα τρία επίπεδα αυστηρότητας:  Dataset: 100 δημοφιλέστερα projects στο GitHub  10-fold cross-validation Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 18 Επίπεδο Αυστηρότητας Warnings / seen LOC (%) 1 45.37 2 32.01 3 27.94
  • 19. Πείραμα 2: Cross-validation testing (D3 Dataset)  Οι δείκτες warnings / seen LOC για τα τρία επίπεδα αυστηρότητας:  Dataset: 200 projects από τους προγραμματιστές της D3  10-fold cross-validation Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 19 Επίπεδο Αυστηρότητας Warnings / seen LOC (%) 1 24.97 2 13.88 3 11.85
  • 20. Cross-validation: Σύγκριση 0 5 10 15 20 25 30 35 40 45 50 Level 1 Level 2 Level 3 GitHub D3 Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 20
  • 21. GitHub Dataset D3 Dataset  Κριτήριο επιλογής: η δημοτικότητα  100 δημοφιλέστερα projects, βάσει του αριθμού των stars  Ισχυρότερα πειστήρια σχετικά:  τόσο με την αξιοπιστία των projects  όσο και με την ομοιομορφία τους Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 21 Cross-validation: Σύγκριση
  • 22. Πείραμα 3: Σύγκριση με το PMD Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 22 LOC LOC seen by statLint PMD (%) statLint ( % ) twitter-typeahead 10,602 1,261 1.5 25.46 jquery-mobile 91,891 5,063 0.52 30.15 mrdoob-three 90,661 10,663 9.06 30.27 ecomfe-echarts 69,388 8,645 6.24 28.58 resume 626 85 1.6 27.05 uBlock 13,503 1,741 2.55 26.3 socketio-socket 2,832 476 0.5 19.11 alvarotrigo-fullpage 3,577 428 0.81 17.28 caolan-async 7,026 785 1.25 25.35 peachananr-scroll 344 51 15.69 35.29
  • 23.  Ο συντελεστής συσχέτισης (Pearson Correlation Coefficient) ανάμεσα στα 2 διανύσματα-στήλες είναι: 0.7331  Παρατηρείται σημαντική συσχέτιση  Πιθανή θετική αξιολόγηση ενός αρχείου κώδικα από το PMD ⇒ Πολύ πιθανή θετική αξιολόγηση από το statLint Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 23 Πείραμα 3: Σύγκριση με το PMD
  • 24. Συμπεράσματα  Απλές, αλλά εξίσου δυναμικές πρακτικές συμβάλουν στις τεχνικές του MSR (Mining Software Repositories)  Online κοινότητες, όπως αυτή του GitHub, αναδεικνύουν τη δύναμη της συνεργασίας και της συλλογικής νοημοσύνης  Ένας statistical linter μπορεί να αντικατοπτρίσει τις εμφανιζόμενες αλλαγές Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 24
  • 25. Μελλοντική Εργασία  Υποστήριξη και άλλων εκδόσεων της JavaScript  CoffeeScript  Τελευταία έκδοση της γλώσσας (ECMAScript6)  Χρησιμοποίηση μεγαλύτερου όγκου δεδομένων  Να εξεταστεί κατά πόσο υπάρχει βελτίωση  Πιθανή ανάγκη για μία online ΒΔ Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 25
  • 26. Ευχαριστίες  Θα ήθελα να ευχαριστήσω τους επιβλέποντες της διπλωματικής μου εργασίας, κ. Ανδρέα Συμεωνίδη και κ. Κυριάκο Χατζηδημητρίου για τη συνεχή βοήθεια και καθοδήγησή τους. Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 26
  • 27. Ερωτήσεις Οκτώβριος 2016 Αναδυόμενα πρότυπα πρακτικών προγραμματισμού μέσω συλλογικής νοημοσύνης 27