SlideShare a Scribd company logo
1 of 40
Αυτόματη Παραγωγή Σεναρίων Ελέγχου με
Χρήση Αποθετηρίων Κώδικα
Μαρίνα Γέραλη
ΑΕΜ: 7414
Υπό την επίβλεψη του Επίκουρου Καθηγητή
κ. Ανδρέα Λ. Συμεωνίδη
και του υποψήφιου Διδάκτορα
κ. Θεμιστοκλή Διαμαντόπουλου
29/6/2017
2. Ορισμός Προβλήματος
1. Εισαγωγή
3. Σκοπός της Διπλωματικής
4. Ανάλυση του Συστήματος
5. Πειράματα
6. Συμπεράσματα-Μελλοντική Εργασία
2
2. Ορισμός Προβλήματος
1. Εισαγωγή
3. Σκοπός της Διπλωματικής
4. Ανάλυση του Συστήματος
5. Πειράματα
6. Συμπεράσματα-Μελλοντική Εργασία
3
 Ψηφιακή Εποχή (Εποχή της Πληροφορίας)
 Ελεύθερη ανταλλαγή και μετάδοση πληροφορίας
 Ολοένα αυξανόμενη διάδοση του Open Source λογισμικού
 Χρήση αποθηκών λογισμικού ανοικτού κώδικα
 Επαναχρησιμοποίηση κώδικα
4
Αποθήκη Λογισμικού Χρήστες Projects
Github 26.000.000 38.000.000
Bitbucket 5.000.000 100.000
Sourceforge 3.700.000 500.000
Launchpad 2.950.000 375.600
Assembla 800.000 526.600
Gitlab 100.000 546.000
5
2. Ορισμός Προβλήματος
1. Εισαγωγή
3. Σκοπός της Διπλωματικής
4. Ανάλυση του Συστήματος
5. Πειράματα
6. Συμπεράσματα-Μελλοντική Εργασία
 Πληθώρα έργων λογισμικού (projects) στο διαδίκτυο ο κώδικας που
ένας προγραμματιστής κατασκευάζει ενδέχεται να είναι ήδη
υλοποιημένος
 Μείωση χρόνου και κόπου συγγραφής
 Βελτίωση ποιότητας κώδικα
 Χρήση Μηχανών Αναζήτησης Κώδικα (Code Search Engines, CSEs) που
συνεργάζονται με αποθήκες λογισμικού
 Ταχύτερη αναζήτηση από ό,τι χειροκίνητα
 Χρήση λέξεων-κλειδιών (keywords) για την έναρξη της αναζήτησης
 Κατασκευή Συστημάτων Συστάσεων στην Τεχνολογία Λογισμικού
(Recommendation Systems in Software Engineering, RSSE)
6
 Συνεργάζονται με CSEs για να έχουν πρόσβαση σε αποθήκες λογισμικού
 Προτείνουν στο χρήστη επαναχρησιμοποιήσιμες μεθόδους που
ταιριάζουν στο σύστημά του
 Συχνά, δέχονται ως είσοδο ένα σενάριο ελέγχου (test case) που ελέγχει
την καταλληλότητα των επιστρεφόμενων αποτελεσμάτων
7
 Ο έλεγχος λογισμικού είναι εξίσου απαραίτητος όσο και η ανάπτυξή
του, καθώς
 εγγυάται την καλή λειτουργία ενός project
 εντοπίζει πιθανή προβληματική συμπεριφορά του λογισμικού
 επιβεβαιώνει την ποιότητα και αξιοπιστία του λογισμικού
 Είναι σημαντικό να γίνεται κατά τη φάση της ανάπτυξης του έργου
λογισμικού και όχι αργότερα
 Είναι ιδιαίτερα δαπανηρός, αν γίνει αφού υλοποιηθεί το project
 Είναι εξαιρετικά επίπονη διαδικασία για την πλειονότητα των
προγραμματιστών
8
 Ιδέα: κατασκευή σεναρίων ελέγχου από επαναχρησιμοποιήσιμο κώδικα
 Τα RSSE συστήματα της βιβλιογραφίας λειτουργούν:
 Με γνωστό test case
 Με γνωστά τα ονόματα των μεθόδων που είναι επιθυμητό να υλοποιηθούν
 Με άγνωστο περιεχόμενο για κάθε μέθοδο
 Αντίθετα, το πρόβλημα απαιτεί:
 Άγνωστο test case
 Γνωστά ονόματα μεθόδων που πρόκειται να ελεγχθούν
 Γνωστό περιεχόμενο για αυτές τις μεθόδους
9
10
2. Ορισμός Προβλήματος
1. Εισαγωγή
3. Σκοπός της Διπλωματικής
4. Ανάλυση του Συστήματος
5. Πειράματα
6. Συμπεράσματα-Μελλοντική Εργασία
Κατασκευή ενός συστήματος που
 Εντοπίζει επαναχρησιμοποιήσιμες μεθόδους ελέγχου για τις μεθόδους
που υλοποιεί ο χρήστης
 Παράγει αυτοματοποιημένα σενάρια ελέγχου από τις παραπάνω
μεταγλωττίσιμες μεθόδους ελέγχου.
 Δίνει τη δυνατότητα στο χρήστη να δημιουργήσει το δικό του σενάριο
ελέγχου, από όλες τις προτεινόμενες μεθόδους.
Το σύστημα επίσης:
 Συνεργάζεται με δυναμική αποθήκη λογισμικού
 Χρησιμοποιεί ένα μοντέλο mining-scoring
 Πραγματοποιεί μετατροπές στα επιστρεφόμενα αποτελέσματα
 Ελέγχει τη μεταγλωττισιμότητα και εκτελεσιμότητα των αποτελεσμάτων
 Διαθέτει εφαρμογή για την παρουσίαση των αποτελεσμάτων
11
1212
2. Ορισμός Προβλήματος
1. Εισαγωγή
3. Σκοπός της Διπλωματικής
4. Ανάλυση του Συστήματος
5. Πειράματα
6. Συμπεράσματα-Μελλοντική Εργασία
13
DOWNLOADER
SIGNATURE
EXTRACTOR
MATCHER
PRESENTER
TESTER
PARSER
Code
Code Signature
200
files
Abstract
Syntax Tree
Top rated
results
Transformed/compiled
results
Proposed
results
Selected from
user results
 Υπογραφή ερωτήματος: το σύνολο της κλάσης, των ονομάτων
μεθόδων, των επιστρεφόμενων τύπων και των τύπων των
ορισμάτων για τις μεθόδους που αιτείται ο προγραμματιστής.
 Χρήση ASTExtractor για την εξαγωγή αυτής της πληροφορίας
14
 Σχηματισμός ερωτήματος υπό τη μορφή ElasticSearch query
 Αποστολή αιτήματος στη μηχανή αναζήτησης κώδικα AGORA
 συνεργάζεται με το GitHub
 διαθέτει API για την υποβολή των ερωτημάτων
15
16
Submit query
For every file
check
At least one class per
file
Junit imported
At least one non empty
method per file
Non duplicate file
ASTExtractor
Download file and
AST
Reached 200 files?
True
Parser
No
Yes
False
 Στόχος ο εντοπισμός των μεθόδων που ελέγχονται μέσα στις
μεθόδους ελέγχου
 Αρκεί να βρούμε τις μεταβλητές του τύπου της κλάσης που
ελέγχεται και να εξετάσουμε τις μεθόδους που αυτές καλούν.
17
 Χρήση ASTExtractor για κάθε αρχείο που πέρασε από το προηγούμενο
βήμα
 Εντοπισμός
 κλάσεων
 μη κενών μεθόδων ελέγχου, καθώς και τύπων ορισμάτων αυτών
 μεταβλητών που χρησιμοποιούνται από τις μεθόδους ελέγχου
 μεταβλητών κάθε κλάσης
 Εύρεση της κλάσης που ελέγχεται στο τρέχον αρχείο (βασική κλάση)
 Εντοπισμός των μεθόδων που καλούν οι μεταβλητές του τύπου της
βασικής κλάσης
 Εύρεση των παραμέτρων και των επιστρεφόμενων τύπων αυτών
 Δημιουργία ενός dictionary με την παραπάνω πληροφορία για όλα τα
αρχεία
18
19
 Βαθμολογεί τα αρχεία συγκρίνοντας πρώτα σε επίπεδο μεθόδου
και έπειτα σε επίπεδο κλάσης.
 Τμηματοποίηση οντοτήτων (κλάσεις, μέθοδοι, επιστρεφόμενοι
τύποι, τύποι παραμέτρων)
 Δημιουργία 4 λεξικών από τις οντότητες της υπογραφής του
ερωτήματος
 Χρήση του VSM μοντέλου για την αναπαράσταση των
διαφορετικών οντοτήτων στον ίδιο διανυσματικό χώρο
 Υπολογισμός ομοιότητας συνημιτόνου μεταξύ των διανυσμάτων
20
 Είναι η διαδικασία αποσύνθεσης των ονομάτων στα επιμέρους ονόματα
που αυτά περιέχουν. Δηλαδή:
1) Διαχωρισμός με βάση τα κεφαλαία γράμματα ή/και τις κάτω παύλες (_)
2) Απομάκρυνση ειδικών χαρακτήρων (<,>, [, ])
3) Απομάκρυνση stop words
4) Απομάκρυνση λέξεων μικρού μήκους
5) Απομάκρυνση αριθμών
6) Απομάκρυνση καταλήξεων
21
Name Tokens
testPushAndPop [‘test’, ‘push’, ‘pop’]
doing_some_calculations [‘do’, ‘some’, ‘calculate’]
List<String> [‘list’, ‘string’]
myArray[] [‘array’]
MD5 [‘md’]
Αρχικά, γίνεται αναπαράσταση των δεδομένων ως προς ένα λεξικό.
Έστω το λεξικό [He, likes, basketball, more, than, baseball]
Όπου tf η συχνότητα
εμφάνισης ενός όρου του
λεξικού στο αντίστοιχο
κείμενο
Το διάνυσμα του τελευταίου πίνακα είναι το γινόμενο tf*idf
Χρήση ομοιότητας συνημιτόνου για την ποσοτικοποίηση της ομοιότητας δύο διανυσμάτων
22
Κείμενο tf Normalized tf
Anna likes dogs more than cats,
because dogs are more cute.
(0, 1, 0, 2, 1, 0) (0, 0.40824830, 0, 0.81649658, 0.40824830, 0)
Both basketball and baseball are
team games.
(0, 0, 1, 0, 0, 1) (0, 0, 0.70710678, 0, 0, 0.70710678)
Κείμενο Διάνυσμα στον 6-διάστατο χώρο
Anna likes dogs more than
cats, because dogs are more
cute.
(0, 0.44444441, 0, 0.88888880, 0. 44444441, 0)
Both basketball and baseball
are team games.
(0, 0, 0.76980028, 0, 0, 0.76980028)
 Βαθμολογία κλήσης μεθόδου:
 Βαθμολογία μεθόδου ελέγχου = max(βαθμολογία i-στης κλήσης
μεθόδου), όπου i=1, …, N οι Ν μέθοδοι που καλούνται στο εσωτερικό
μίας μεθόδου ελέγχου
 Εφαρμογή του Προβλήματος του Σταθερού Γάμου, ώστε να γίνει
βέλτιστη αντιστοίχιση των ζητούμενων μεθόδων με τις διαθέσιμες.
 Βαθμολογία κλάσης:
Όόπου i=1, …, M, οι Μ μέθοδοι ελέγχου του εκάστοτε αρχείου
 Βαθμολογία αρχείου = max(βαθμολογία i-στης κλάσης), όπου i=1, …, K,
οι Κ κλάσεις ενός αρχείου
23
Εξάγονται οι μέθοδοι ελέγχου κάθε αρχείου για τις οποίες αυτό
συγκεντρώνει score > 0.4, ως προς τις ζητούμενες μεθόδους.
Τριπλός ρόλος:
 Μετασχηματίζει τις προτεινόμενες μεθόδους ελέγχου
 Ελέγχει τη δυνατότητα μεταγλώττισης και εκτέλεσής τους
 Δημιουργεί πιθανά test cases από όλες τις διαφορετικές
μεταγλωττίσιμες μεθόδους ελέγχου.
24
Δέχεται στην είσοδό του τον κώδικα του χρήστη.
Ο χρήστης μπορεί να επιλέξει για ποιες μεθόδους ζητά μεθόδους ελέγχου.
Για κάθε αιτούμενη μέθοδο το σύστημα:
 Παρουσιάζει τη βέλτιστη μέθοδο, καθώς και μία ταξινομημένη λίστα
όλων των προτεινόμενων μεθόδων.
 Παρέχει πληροφορίες σχετικά με τη μεταγλωττισιμότητα και την
εκτελεσιμότητα αυτών.
 Δίνει τη δυνατότητα διαμόρφωσης του επιθυμητού σεναρίου ελέγχου
από το χρήστη, επιλέγοντας όποιες μεθόδους ελέγχου αυτός θέλει.
 Παρέχει έτοιμα σενάρια ελέγχου, τα οποία είναι μεταγλωττίσιμα και
εκτελέσιμα, εφόσον ο χρήστης το επιλέξει.
25
26
27
28
29
3030
2. Ορισμός Προβλήματος
1. Εισαγωγή
3. Σκοπός της Διπλωματικής
4. Ανάλυση του Συστήματος
5. Πειράματα
6. Συμπεράσματα-Μελλοντική Εργασία
31
 Χρησιμοποιήθηκε επίσης το ποσοστό μεταγλωττίσιμων (%C) και
εκτελέσιμων αρχείων (%P) κάθε μεθόδου.
 Μόνο για το πρώτο πείραμα, υπολογίζεται επιπλέον το Μήκος
Αναζήτησης, που είναι ο αριθμός των μη σχετικών αποτελεσμάτων που
πρέπει να προσπελαστούν από το χρήστη, μέχρι να καταλήξει σε κάποιο
σχετικό.
 Ως σχετικό, θεωρείται ένα μεταγλωττίσιμο και επιτυχώς εκτελέσιμο
αποτέλεσμα.
32
33
34
Για τη διεξαγωγή αυτού του πειράματος είναι απαραίτητο:
 Το ερώτημα να περιέχει τουλάχιστον δύο μεθόδους.
 Όλες οι μέθοδοι που συμμετέχουν στο σχηματισμό των test cases να
έχουν τουλάχιστον ένα μεταγλωττίσιμο αποτέλεσμα.
 Να υπάρχουν τουλάχιστον δύο διαφορετικές μέθοδοι που θα
διαμορφώσουν το τελικό test case.
Έστω, για παράδειγμα, ότι για το ερώτημα Stack:
• Βρέθηκαν 5 μεταγλωττίσιμες μέθοδοι ελέγχου για τη μέθοδο push
• Βρέθηκαν 10 μεταγλωττίσιμες μέθοδοι ελέγχου για τη μέθοδο pop
• Θα παραχθούν συνολικά 50 πιθανά σενάρια ελέγχου
35
36
37
383838
2. Ορισμός Προβλήματος
1. Εισαγωγή
3. Σκοπός της Διπλωματικής
4. Ανάλυση του Συστήματος
5. Πειράματα
6. Συμπεράσματα-Μελλοντική Εργασία
Αντιλαμβανόμαστε ότι:
 Τα μέχρι τώρα RSSE συστήματα της βιβλιογραφίας αδυνατούν να
επιλύσουν το πρόβλημα της επαναχρησιμοποίησης κώδικα ελέγχου.
 Οι μετασχηματισμοί είναι απαραίτητοι, ώστε να δώσουν μεγαλύτερες
πιθανότητες μεταγλώττισης σε μία μέθοδο ελέγχου.
 Είναι εφικτός ο συνδυασμός μεθόδων ελέγχου από διαφορετικά
αρχεία, με σκοπό την παραγωγή test cases.
Μελλοντικές βελτιώσεις του συστήματός μας:
 Επίλυση εξαρτήσεων (Dependency Resolution)
 Προσθήκη επιπλέον CSEs
 Επέκταση και σε άλλες γλώσσες προγραμματισμού, πέρα της Java.
39
Ευχαριστώ για την προσοχή σας!
40

More Related Content

Similar to Μαρίνα Γέραλη

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
 
Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Manos Tsardoulias
 
Εσωτερικό Σεμινάριο SoDaNet στην χρήση των εργαλείων τεκμηρίωσης και διαχείρι...
Εσωτερικό Σεμινάριο SoDaNet στην χρήση των εργαλείων τεκμηρίωσης και διαχείρι...Εσωτερικό Σεμινάριο SoDaNet στην χρήση των εργαλείων τεκμηρίωσης και διαχείρι...
Εσωτερικό Σεμινάριο SoDaNet στην χρήση των εργαλείων τεκμηρίωσης και διαχείρι...NikosKlironomos1
 
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
 
Χατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηΧατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηISSEL
 
A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...Nikolaos Konstantinou
 
Maniadis Ioannis
Maniadis IoannisManiadis Ioannis
Maniadis IoannisISSEL
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485ISSEL
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis LoiasISSEL
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254ISSEL
 
Creating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERNCreating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERNISSEL
 
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERNΔημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERNISSEL
 
Περδικίδης Μιχάλης 7594
Περδικίδης Μιχάλης 7594Περδικίδης Μιχάλης 7594
Περδικίδης Μιχάλης 7594ISSEL
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
ΓεροκώσταISSEL
 
Nashiproject
NashiprojectNashiproject
Nashiprojectzoifis
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationISSEL
 
Νούτσος Αντώνης 6992
Νούτσος Αντώνης 6992Νούτσος Αντώνης 6992
Νούτσος Αντώνης 6992ISSEL
 
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...ISSEL
 

Similar to Μαρίνα Γέραλη (20)

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...
 
Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...
 
Εσωτερικό Σεμινάριο SoDaNet στην χρήση των εργαλείων τεκμηρίωσης και διαχείρι...
Εσωτερικό Σεμινάριο SoDaNet στην χρήση των εργαλείων τεκμηρίωσης και διαχείρι...Εσωτερικό Σεμινάριο SoDaNet στην χρήση των εργαλείων τεκμηρίωσης και διαχείρι...
Εσωτερικό Σεμινάριο SoDaNet στην χρήση των εργαλείων τεκμηρίωσης και διαχείρι...
 
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...
 
Σωτήρης Μπέης
Σωτήρης ΜπέηςΣωτήρης Μπέης
Σωτήρης Μπέης
 
Χατζηελευθερίου Ειρήνη
Χατζηελευθερίου ΕιρήνηΧατζηελευθερίου Ειρήνη
Χατζηελευθερίου Ειρήνη
 
A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...
 
Maniadis Ioannis
Maniadis IoannisManiadis Ioannis
Maniadis Ioannis
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis Loias
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254
 
Creating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERNCreating an Open Archival Information System compliant archive for CERN
Creating an Open Archival Information System compliant archive for CERN
 
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERNΔημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERN
 
Περδικίδης Μιχάλης 7594
Περδικίδης Μιχάλης 7594Περδικίδης Μιχάλης 7594
Περδικίδης Μιχάλης 7594
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
Γεροκώστα
 
Nashiproject
NashiprojectNashiproject
Nashiproject
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis Presentation
 
PhaST_flyer_01
PhaST_flyer_01PhaST_flyer_01
PhaST_flyer_01
 
Νούτσος Αντώνης 6992
Νούτσος Αντώνης 6992Νούτσος Αντώνης 6992
Νούτσος Αντώνης 6992
 
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
Real-Time Detection Of Abnormal User Behavior In Web Applications Using Machi...
 

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
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης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
 

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
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 

Recently uploaded

Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008Θεόδωρος Μαραγκούλας
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHRODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHROUT Family
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx36dimperist
 
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-242lykkomo
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxeucharis
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑDimitra Mylonaki
 
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxssuserb0ed14
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx36dimperist
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx36dimperist
 
Μια νύχτα σε κατάστημα παιχνιδιών.pdf
Μια νύχτα σε κατάστημα             παιχνιδιών.pdfΜια νύχτα σε κατάστημα             παιχνιδιών.pdf
Μια νύχτα σε κατάστημα παιχνιδιών.pdfDimitra Mylonaki
 
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της ΙταλίαςKonstantina Katirtzi
 
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfssuserf9afe7
 
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
 

Recently uploaded (15)

Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
 
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHRODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
 
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
 
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
 
Μια νύχτα σε κατάστημα παιχνιδιών.pdf
Μια νύχτα σε κατάστημα             παιχνιδιών.pdfΜια νύχτα σε κατάστημα             παιχνιδιών.pdf
Μια νύχτα σε κατάστημα παιχνιδιών.pdf
 
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
 
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
 
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
 

Μαρίνα Γέραλη

  • 1. Αυτόματη Παραγωγή Σεναρίων Ελέγχου με Χρήση Αποθετηρίων Κώδικα Μαρίνα Γέραλη ΑΕΜ: 7414 Υπό την επίβλεψη του Επίκουρου Καθηγητή κ. Ανδρέα Λ. Συμεωνίδη και του υποψήφιου Διδάκτορα κ. Θεμιστοκλή Διαμαντόπουλου 29/6/2017
  • 2. 2. Ορισμός Προβλήματος 1. Εισαγωγή 3. Σκοπός της Διπλωματικής 4. Ανάλυση του Συστήματος 5. Πειράματα 6. Συμπεράσματα-Μελλοντική Εργασία 2
  • 3. 2. Ορισμός Προβλήματος 1. Εισαγωγή 3. Σκοπός της Διπλωματικής 4. Ανάλυση του Συστήματος 5. Πειράματα 6. Συμπεράσματα-Μελλοντική Εργασία 3
  • 4.  Ψηφιακή Εποχή (Εποχή της Πληροφορίας)  Ελεύθερη ανταλλαγή και μετάδοση πληροφορίας  Ολοένα αυξανόμενη διάδοση του Open Source λογισμικού  Χρήση αποθηκών λογισμικού ανοικτού κώδικα  Επαναχρησιμοποίηση κώδικα 4 Αποθήκη Λογισμικού Χρήστες Projects Github 26.000.000 38.000.000 Bitbucket 5.000.000 100.000 Sourceforge 3.700.000 500.000 Launchpad 2.950.000 375.600 Assembla 800.000 526.600 Gitlab 100.000 546.000
  • 5. 5 2. Ορισμός Προβλήματος 1. Εισαγωγή 3. Σκοπός της Διπλωματικής 4. Ανάλυση του Συστήματος 5. Πειράματα 6. Συμπεράσματα-Μελλοντική Εργασία
  • 6.  Πληθώρα έργων λογισμικού (projects) στο διαδίκτυο ο κώδικας που ένας προγραμματιστής κατασκευάζει ενδέχεται να είναι ήδη υλοποιημένος  Μείωση χρόνου και κόπου συγγραφής  Βελτίωση ποιότητας κώδικα  Χρήση Μηχανών Αναζήτησης Κώδικα (Code Search Engines, CSEs) που συνεργάζονται με αποθήκες λογισμικού  Ταχύτερη αναζήτηση από ό,τι χειροκίνητα  Χρήση λέξεων-κλειδιών (keywords) για την έναρξη της αναζήτησης  Κατασκευή Συστημάτων Συστάσεων στην Τεχνολογία Λογισμικού (Recommendation Systems in Software Engineering, RSSE) 6
  • 7.  Συνεργάζονται με CSEs για να έχουν πρόσβαση σε αποθήκες λογισμικού  Προτείνουν στο χρήστη επαναχρησιμοποιήσιμες μεθόδους που ταιριάζουν στο σύστημά του  Συχνά, δέχονται ως είσοδο ένα σενάριο ελέγχου (test case) που ελέγχει την καταλληλότητα των επιστρεφόμενων αποτελεσμάτων 7
  • 8.  Ο έλεγχος λογισμικού είναι εξίσου απαραίτητος όσο και η ανάπτυξή του, καθώς  εγγυάται την καλή λειτουργία ενός project  εντοπίζει πιθανή προβληματική συμπεριφορά του λογισμικού  επιβεβαιώνει την ποιότητα και αξιοπιστία του λογισμικού  Είναι σημαντικό να γίνεται κατά τη φάση της ανάπτυξης του έργου λογισμικού και όχι αργότερα  Είναι ιδιαίτερα δαπανηρός, αν γίνει αφού υλοποιηθεί το project  Είναι εξαιρετικά επίπονη διαδικασία για την πλειονότητα των προγραμματιστών 8
  • 9.  Ιδέα: κατασκευή σεναρίων ελέγχου από επαναχρησιμοποιήσιμο κώδικα  Τα RSSE συστήματα της βιβλιογραφίας λειτουργούν:  Με γνωστό test case  Με γνωστά τα ονόματα των μεθόδων που είναι επιθυμητό να υλοποιηθούν  Με άγνωστο περιεχόμενο για κάθε μέθοδο  Αντίθετα, το πρόβλημα απαιτεί:  Άγνωστο test case  Γνωστά ονόματα μεθόδων που πρόκειται να ελεγχθούν  Γνωστό περιεχόμενο για αυτές τις μεθόδους 9
  • 10. 10 2. Ορισμός Προβλήματος 1. Εισαγωγή 3. Σκοπός της Διπλωματικής 4. Ανάλυση του Συστήματος 5. Πειράματα 6. Συμπεράσματα-Μελλοντική Εργασία
  • 11. Κατασκευή ενός συστήματος που  Εντοπίζει επαναχρησιμοποιήσιμες μεθόδους ελέγχου για τις μεθόδους που υλοποιεί ο χρήστης  Παράγει αυτοματοποιημένα σενάρια ελέγχου από τις παραπάνω μεταγλωττίσιμες μεθόδους ελέγχου.  Δίνει τη δυνατότητα στο χρήστη να δημιουργήσει το δικό του σενάριο ελέγχου, από όλες τις προτεινόμενες μεθόδους. Το σύστημα επίσης:  Συνεργάζεται με δυναμική αποθήκη λογισμικού  Χρησιμοποιεί ένα μοντέλο mining-scoring  Πραγματοποιεί μετατροπές στα επιστρεφόμενα αποτελέσματα  Ελέγχει τη μεταγλωττισιμότητα και εκτελεσιμότητα των αποτελεσμάτων  Διαθέτει εφαρμογή για την παρουσίαση των αποτελεσμάτων 11
  • 12. 1212 2. Ορισμός Προβλήματος 1. Εισαγωγή 3. Σκοπός της Διπλωματικής 4. Ανάλυση του Συστήματος 5. Πειράματα 6. Συμπεράσματα-Μελλοντική Εργασία
  • 13. 13 DOWNLOADER SIGNATURE EXTRACTOR MATCHER PRESENTER TESTER PARSER Code Code Signature 200 files Abstract Syntax Tree Top rated results Transformed/compiled results Proposed results Selected from user results
  • 14.  Υπογραφή ερωτήματος: το σύνολο της κλάσης, των ονομάτων μεθόδων, των επιστρεφόμενων τύπων και των τύπων των ορισμάτων για τις μεθόδους που αιτείται ο προγραμματιστής.  Χρήση ASTExtractor για την εξαγωγή αυτής της πληροφορίας 14
  • 15.  Σχηματισμός ερωτήματος υπό τη μορφή ElasticSearch query  Αποστολή αιτήματος στη μηχανή αναζήτησης κώδικα AGORA  συνεργάζεται με το GitHub  διαθέτει API για την υποβολή των ερωτημάτων 15
  • 16. 16 Submit query For every file check At least one class per file Junit imported At least one non empty method per file Non duplicate file ASTExtractor Download file and AST Reached 200 files? True Parser No Yes False
  • 17.  Στόχος ο εντοπισμός των μεθόδων που ελέγχονται μέσα στις μεθόδους ελέγχου  Αρκεί να βρούμε τις μεταβλητές του τύπου της κλάσης που ελέγχεται και να εξετάσουμε τις μεθόδους που αυτές καλούν. 17
  • 18.  Χρήση ASTExtractor για κάθε αρχείο που πέρασε από το προηγούμενο βήμα  Εντοπισμός  κλάσεων  μη κενών μεθόδων ελέγχου, καθώς και τύπων ορισμάτων αυτών  μεταβλητών που χρησιμοποιούνται από τις μεθόδους ελέγχου  μεταβλητών κάθε κλάσης  Εύρεση της κλάσης που ελέγχεται στο τρέχον αρχείο (βασική κλάση)  Εντοπισμός των μεθόδων που καλούν οι μεταβλητές του τύπου της βασικής κλάσης  Εύρεση των παραμέτρων και των επιστρεφόμενων τύπων αυτών  Δημιουργία ενός dictionary με την παραπάνω πληροφορία για όλα τα αρχεία 18
  • 19. 19
  • 20.  Βαθμολογεί τα αρχεία συγκρίνοντας πρώτα σε επίπεδο μεθόδου και έπειτα σε επίπεδο κλάσης.  Τμηματοποίηση οντοτήτων (κλάσεις, μέθοδοι, επιστρεφόμενοι τύποι, τύποι παραμέτρων)  Δημιουργία 4 λεξικών από τις οντότητες της υπογραφής του ερωτήματος  Χρήση του VSM μοντέλου για την αναπαράσταση των διαφορετικών οντοτήτων στον ίδιο διανυσματικό χώρο  Υπολογισμός ομοιότητας συνημιτόνου μεταξύ των διανυσμάτων 20
  • 21.  Είναι η διαδικασία αποσύνθεσης των ονομάτων στα επιμέρους ονόματα που αυτά περιέχουν. Δηλαδή: 1) Διαχωρισμός με βάση τα κεφαλαία γράμματα ή/και τις κάτω παύλες (_) 2) Απομάκρυνση ειδικών χαρακτήρων (<,>, [, ]) 3) Απομάκρυνση stop words 4) Απομάκρυνση λέξεων μικρού μήκους 5) Απομάκρυνση αριθμών 6) Απομάκρυνση καταλήξεων 21 Name Tokens testPushAndPop [‘test’, ‘push’, ‘pop’] doing_some_calculations [‘do’, ‘some’, ‘calculate’] List<String> [‘list’, ‘string’] myArray[] [‘array’] MD5 [‘md’]
  • 22. Αρχικά, γίνεται αναπαράσταση των δεδομένων ως προς ένα λεξικό. Έστω το λεξικό [He, likes, basketball, more, than, baseball] Όπου tf η συχνότητα εμφάνισης ενός όρου του λεξικού στο αντίστοιχο κείμενο Το διάνυσμα του τελευταίου πίνακα είναι το γινόμενο tf*idf Χρήση ομοιότητας συνημιτόνου για την ποσοτικοποίηση της ομοιότητας δύο διανυσμάτων 22 Κείμενο tf Normalized tf Anna likes dogs more than cats, because dogs are more cute. (0, 1, 0, 2, 1, 0) (0, 0.40824830, 0, 0.81649658, 0.40824830, 0) Both basketball and baseball are team games. (0, 0, 1, 0, 0, 1) (0, 0, 0.70710678, 0, 0, 0.70710678) Κείμενο Διάνυσμα στον 6-διάστατο χώρο Anna likes dogs more than cats, because dogs are more cute. (0, 0.44444441, 0, 0.88888880, 0. 44444441, 0) Both basketball and baseball are team games. (0, 0, 0.76980028, 0, 0, 0.76980028)
  • 23.  Βαθμολογία κλήσης μεθόδου:  Βαθμολογία μεθόδου ελέγχου = max(βαθμολογία i-στης κλήσης μεθόδου), όπου i=1, …, N οι Ν μέθοδοι που καλούνται στο εσωτερικό μίας μεθόδου ελέγχου  Εφαρμογή του Προβλήματος του Σταθερού Γάμου, ώστε να γίνει βέλτιστη αντιστοίχιση των ζητούμενων μεθόδων με τις διαθέσιμες.  Βαθμολογία κλάσης: Όόπου i=1, …, M, οι Μ μέθοδοι ελέγχου του εκάστοτε αρχείου  Βαθμολογία αρχείου = max(βαθμολογία i-στης κλάσης), όπου i=1, …, K, οι Κ κλάσεις ενός αρχείου 23
  • 24. Εξάγονται οι μέθοδοι ελέγχου κάθε αρχείου για τις οποίες αυτό συγκεντρώνει score > 0.4, ως προς τις ζητούμενες μεθόδους. Τριπλός ρόλος:  Μετασχηματίζει τις προτεινόμενες μεθόδους ελέγχου  Ελέγχει τη δυνατότητα μεταγλώττισης και εκτέλεσής τους  Δημιουργεί πιθανά test cases από όλες τις διαφορετικές μεταγλωττίσιμες μεθόδους ελέγχου. 24
  • 25. Δέχεται στην είσοδό του τον κώδικα του χρήστη. Ο χρήστης μπορεί να επιλέξει για ποιες μεθόδους ζητά μεθόδους ελέγχου. Για κάθε αιτούμενη μέθοδο το σύστημα:  Παρουσιάζει τη βέλτιστη μέθοδο, καθώς και μία ταξινομημένη λίστα όλων των προτεινόμενων μεθόδων.  Παρέχει πληροφορίες σχετικά με τη μεταγλωττισιμότητα και την εκτελεσιμότητα αυτών.  Δίνει τη δυνατότητα διαμόρφωσης του επιθυμητού σεναρίου ελέγχου από το χρήστη, επιλέγοντας όποιες μεθόδους ελέγχου αυτός θέλει.  Παρέχει έτοιμα σενάρια ελέγχου, τα οποία είναι μεταγλωττίσιμα και εκτελέσιμα, εφόσον ο χρήστης το επιλέξει. 25
  • 26. 26
  • 27. 27
  • 28. 28
  • 29. 29
  • 30. 3030 2. Ορισμός Προβλήματος 1. Εισαγωγή 3. Σκοπός της Διπλωματικής 4. Ανάλυση του Συστήματος 5. Πειράματα 6. Συμπεράσματα-Μελλοντική Εργασία
  • 31. 31  Χρησιμοποιήθηκε επίσης το ποσοστό μεταγλωττίσιμων (%C) και εκτελέσιμων αρχείων (%P) κάθε μεθόδου.  Μόνο για το πρώτο πείραμα, υπολογίζεται επιπλέον το Μήκος Αναζήτησης, που είναι ο αριθμός των μη σχετικών αποτελεσμάτων που πρέπει να προσπελαστούν από το χρήστη, μέχρι να καταλήξει σε κάποιο σχετικό.  Ως σχετικό, θεωρείται ένα μεταγλωττίσιμο και επιτυχώς εκτελέσιμο αποτέλεσμα.
  • 32. 32
  • 33. 33
  • 34. 34
  • 35. Για τη διεξαγωγή αυτού του πειράματος είναι απαραίτητο:  Το ερώτημα να περιέχει τουλάχιστον δύο μεθόδους.  Όλες οι μέθοδοι που συμμετέχουν στο σχηματισμό των test cases να έχουν τουλάχιστον ένα μεταγλωττίσιμο αποτέλεσμα.  Να υπάρχουν τουλάχιστον δύο διαφορετικές μέθοδοι που θα διαμορφώσουν το τελικό test case. Έστω, για παράδειγμα, ότι για το ερώτημα Stack: • Βρέθηκαν 5 μεταγλωττίσιμες μέθοδοι ελέγχου για τη μέθοδο push • Βρέθηκαν 10 μεταγλωττίσιμες μέθοδοι ελέγχου για τη μέθοδο pop • Θα παραχθούν συνολικά 50 πιθανά σενάρια ελέγχου 35
  • 36. 36
  • 37. 37
  • 38. 383838 2. Ορισμός Προβλήματος 1. Εισαγωγή 3. Σκοπός της Διπλωματικής 4. Ανάλυση του Συστήματος 5. Πειράματα 6. Συμπεράσματα-Μελλοντική Εργασία
  • 39. Αντιλαμβανόμαστε ότι:  Τα μέχρι τώρα RSSE συστήματα της βιβλιογραφίας αδυνατούν να επιλύσουν το πρόβλημα της επαναχρησιμοποίησης κώδικα ελέγχου.  Οι μετασχηματισμοί είναι απαραίτητοι, ώστε να δώσουν μεγαλύτερες πιθανότητες μεταγλώττισης σε μία μέθοδο ελέγχου.  Είναι εφικτός ο συνδυασμός μεθόδων ελέγχου από διαφορετικά αρχεία, με σκοπό την παραγωγή test cases. Μελλοντικές βελτιώσεις του συστήματός μας:  Επίλυση εξαρτήσεων (Dependency Resolution)  Προσθήκη επιπλέον CSEs  Επέκταση και σε άλλες γλώσσες προγραμματισμού, πέρα της Java. 39
  • 40. Ευχαριστώ για την προσοχή σας! 40