SlideShare una empresa de Scribd logo
1 de 17
Πρόταση βιβλιοθηκών σχετικών με
λέξεις-κλειδιά για την εκκίνηση της
διαδικασίας ανάπτυξης λογισμικού
Διπλωματική εργασία
Εκπόνηση:
Δημήτριος Βαδικόλιας
ΑΕΜ : 7656
Επιβλέποντες:
Καθηγητής Ανδρέας Συμεωνίδης
Υπ. Διδάκτωρ Εμμανουήλ Κρασανάκης
Intelligent Systems & Software
Engineering Labgroup
Πολυτεχνική Σχολή
Τμήμα Ηλεκτρολόγων Μηχανικών και
Μηχανικών Υπολογιστών
Κίνητρο
Επιτάχυνση ανάπτυξης → πρόταση σχετικών βιβλιοθηκών
• κατά το αρχικό στάδιο της ανάπτυξης
• βάσει λέξεων-κλειδιών που περιγράφουν το λογισμικό
Βιβλιογραφία πρότασης βιβλιοθηκών
α) Βάσει ομοιότητας περιγραφών τους
(π.χ. αναζήτηση “XML” επιστρεφόμενη βιβλιοθήκη ‘Jackson XML’)
• αγνοεί πρότυπα κοινής χρήσης
β) Βάσει ήδη χρησιμοποιούμενων σε έργα
(π.χ. συλλογικό φιλτράρισμα, γράφοι εξαρτήσεων)
• αγνοεί λέξεις-κλειδιά
Από περιγραφές έργων;
Προτεινόμενη μεθοδολογία
Εξαγωγή λέξεων-κλειδιών από περιγραφές έργων λογισμικού
Κατασκευή γράφου συσχετίσεων βιβλιοθηκών με λέξεις κλειδιά.
Παράδειγμα αναλυόμενου γράφου
Έργο
λογισμικού
Βιβλιοθήκη
InDraw_Color_by
_Number_Pixel_A
rt
Google
GData
Selectable
Rounded
Image View
Firebase
Προτεινόμενη μεθοδολογία
Εξαγωγή λέξεων-κλειδιών από περιγραφές έργων λογισμικού
Κατασκευή γράφου συσχετίσεων βιβλιοθηκών με λέξεις κλειδιά.
Πρόταση βάσει σημασιολογικών συσχετίσεων και δημοτικότητας
Επιλογή καταλληλότερων βιβλιοθηκών
• Χρήση φίλτρων γράφου
(αναλύουν συσχετίσεις μεταξύ κόμβων για βαθμολόγηση του πόσο “κοντά” είναι όλοι οι κόμβοι
στο δοσμένο σύνολο από λέξεις-κλειδιά)
• Εφαρμογή προσωποποιημένου PageRank
(φίλτρο γράφων ισοδύναμο με τυχαίους περιπάτους με επανεκκίνηση)
𝑷𝑷𝑹 = 𝛼 ∙ 𝑃 ∙ 𝑷𝑷𝑹 + (1 − 𝑎) ∙ 𝒑𝒆𝒓𝒔𝒐𝒏𝒂𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏_𝒗𝒆𝒄𝒕𝒐𝒓
Παραλλαγές του αλγορίθμου
• Διαφορετικός συντελεστής απόσβεσης
• Συμμετρική κανονικοποίηση του πίνακα μεταβάσεων
• Επανακανονικοποίηση
𝑃 = 𝐷−1/2𝐴𝐷−1/2
𝑃 = 𝐴𝐷−1
𝑎 = 0.85, 𝑎 = 0.5
𝐴 = 𝐴 + 𝐼𝑁
(έλεγχος απομάκρυνσης από κόμβους προσωποποίησης)
(μείωση επίδρασης υπερβολικά δημοφιλών κόμβων)
(αριθμητική ευστάθεια συμμετρικής κανονικοποίησης)
Παραλλαγές του αλγορίθμου(2)
• Διαδικασία sweep
• Χρήση σταθμισμένου γράφου
• Παράλειψη κόμβων έργων
𝑃𝑃𝑅𝑆𝑊𝐸𝐸𝑃 𝑣 = 𝑃𝑃𝑅 𝑣 /𝑃𝑅[𝑣]
𝑃 = 𝑊𝐷𝑤
−1
(κατανομή σκορ ανάλογα με το είδος των κόμβων)
(μεγαλύτερη διάχυση της πληροφορίας)
(μείωση επίδρασης υπερβολικά δημοφιλών κόμβων)
Πειράματα
Έργο λογισμικού Χρησιμοποιούμενες βιβλιοθήκες
[keywords]
Σύστημα
πρότασης
βιβλιοθηκών
Προτεινόμενες
βιβλιοθήκες
Μορφή δεδομένων: Έργο λογισμικού Χρησιμοποιούμενες βιβλιοθήκες
Διαχωρισμός συνόλου δεδομένων σε:
• Δεδομένα εκπαίδευσης (90% έργων)
Εξαγωγή keywords, libraries, κτλ Κατασκευή γράφου
• Δεδομένα ελέγχου (10% έργων)
Σύγκριση
Σύνολα δεδομένων
Γράφος Έργα λογισμικού Εξαρτήσεις Κόμβοι Ακμές
Maven
MALib 7,2 ∙ 105
6,1 ∙ 104 1,9 ∙ 106
1,2 ∙ 105
4,8 ∙ 106
3,1 ∙ 105
9,0 ∙ 106
2,8 ∙ 106
Αποτελέσματα
Μέθοδος AUC MR MP MF1 HR Coverage
PPR85 0.96 0.20 0.31 0.24 0.88 0.11
PPR50 0.96 0.26 0.41 0.32 0.95 0.19
SymRenorm 0.95 0.07 0.11 0.09 0.45 0.12
Cos 0.68 0.08 0.12 0.10 0.56 0.13
Μέθοδος AUC MR MP MF1 HR Coverage
PPR85 0.97 0.39 0.59 0.47 0.88 0.17
PPR50 0.97 0.44 0.67 0.53 0.88 0.27
SymRenorm 0.91 0.19 0.30 0.23 0.61 0.88
Cos 0.52 0.01 0.02 0.02 0.14 0.35
Maven
MALib
Επιλεγμένες – καλύτερες μέθοδοι
Μη σταθμισμένος γράφος,
περιλαμβάνει κόμβους τύπου Project
Χωρίς χρήση γράφου
Χρόνοι εκτέλεσης
Maven MALib
Μέθοδος 1 Επανάληψη Εκτέλεση 1 Επανάληψη Εκτέλεση
PPR.85 60ms 1.20 sec
4.8 x 10
6
ακμές
20ms 0.4sec
1.9 x 10
6
ακμές
Cos - 0.12 sec - 0.01sec
CF GNNs >5 ώρες
Σε παρόμοιου μεγέθους συστήματα
σχεδόν γραμμικό
Εργαλείο γραμμής εντολών
Αναζήτηση βιβλιοθηκών με βάση τις λέξεις-κλειδιά “photo filters”
Αποτελέσματα αναζήτησης
Αναζήτησης «photo filters» στο MALib
SymRenorm
PPR50 CosSim
Μελλοντική εργασία
• Εξαγωγή λέξεων-κλειδιών από πληρέστερη περιγραφή
• Cache αποτελέσματα του PageRank λόγω γραμμικότητας
• Εφαρμογή μεθόδων σε γράφους συσχετίσεων άλλων οντοτήτων με
λέξεις-κλειδιά
Ευχαριστώ για την προσοχή σας
Ερωτήσεις;

Más contenido relacionado

Similar a Keyword-based software library recommendation in order to bootstrap software development

Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου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
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419ISSEL
 
Efarm Grafeiou - Ekpaid logism
Efarm Grafeiou - Ekpaid logismEfarm Grafeiou - Ekpaid logism
Efarm Grafeiou - Ekpaid logismTassos Matos
 
Συλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοΣυλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοLevadia Library
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
 
Presentation 6
Presentation 6Presentation 6
Presentation 6Annaa77
 
Εσωτερικό Σεμινάριο 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
 

Similar a Keyword-based software library recommendation in order to bootstrap software development (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...
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. Ζαφειρίου
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419
 
Efarm Grafeiou - Ekpaid logism
Efarm Grafeiou - Ekpaid logismEfarm Grafeiou - Ekpaid logism
Efarm Grafeiou - Ekpaid logism
 
Συλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοΣυλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & Διαδίκτυο
 
Παρουσίαση
ΠαρουσίασηΠαρουσίαση
Παρουσίαση
 
Παρουσίαση
ΠαρουσίασηΠαρουσίαση
Παρουσίαση
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
 
Presentation 6
Presentation 6Presentation 6
Presentation 6
 
Presentation 6
Presentation 6Presentation 6
Presentation 6
 
Presentation 6
Presentation 6Presentation 6
Presentation 6
 
Presentation 6 (1)
Presentation 6 (1)Presentation 6 (1)
Presentation 6 (1)
 
Presentation 6 (1)
Presentation 6 (1)Presentation 6 (1)
Presentation 6 (1)
 
Εσωτερικό Σεμινάριο 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...
 

Más 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
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...ISSEL
 

Más 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...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...
 

Keyword-based software library recommendation in order to bootstrap software development

  • 1. Πρόταση βιβλιοθηκών σχετικών με λέξεις-κλειδιά για την εκκίνηση της διαδικασίας ανάπτυξης λογισμικού Διπλωματική εργασία Εκπόνηση: Δημήτριος Βαδικόλιας ΑΕΜ : 7656 Επιβλέποντες: Καθηγητής Ανδρέας Συμεωνίδης Υπ. Διδάκτωρ Εμμανουήλ Κρασανάκης Intelligent Systems & Software Engineering Labgroup Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
  • 2. Κίνητρο Επιτάχυνση ανάπτυξης → πρόταση σχετικών βιβλιοθηκών • κατά το αρχικό στάδιο της ανάπτυξης • βάσει λέξεων-κλειδιών που περιγράφουν το λογισμικό
  • 3. Βιβλιογραφία πρότασης βιβλιοθηκών α) Βάσει ομοιότητας περιγραφών τους (π.χ. αναζήτηση “XML” επιστρεφόμενη βιβλιοθήκη ‘Jackson XML’) • αγνοεί πρότυπα κοινής χρήσης β) Βάσει ήδη χρησιμοποιούμενων σε έργα (π.χ. συλλογικό φιλτράρισμα, γράφοι εξαρτήσεων) • αγνοεί λέξεις-κλειδιά Από περιγραφές έργων;
  • 4. Προτεινόμενη μεθοδολογία Εξαγωγή λέξεων-κλειδιών από περιγραφές έργων λογισμικού Κατασκευή γράφου συσχετίσεων βιβλιοθηκών με λέξεις κλειδιά.
  • 6. Προτεινόμενη μεθοδολογία Εξαγωγή λέξεων-κλειδιών από περιγραφές έργων λογισμικού Κατασκευή γράφου συσχετίσεων βιβλιοθηκών με λέξεις κλειδιά. Πρόταση βάσει σημασιολογικών συσχετίσεων και δημοτικότητας
  • 7. Επιλογή καταλληλότερων βιβλιοθηκών • Χρήση φίλτρων γράφου (αναλύουν συσχετίσεις μεταξύ κόμβων για βαθμολόγηση του πόσο “κοντά” είναι όλοι οι κόμβοι στο δοσμένο σύνολο από λέξεις-κλειδιά) • Εφαρμογή προσωποποιημένου PageRank (φίλτρο γράφων ισοδύναμο με τυχαίους περιπάτους με επανεκκίνηση) 𝑷𝑷𝑹 = 𝛼 ∙ 𝑃 ∙ 𝑷𝑷𝑹 + (1 − 𝑎) ∙ 𝒑𝒆𝒓𝒔𝒐𝒏𝒂𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏_𝒗𝒆𝒄𝒕𝒐𝒓
  • 8. Παραλλαγές του αλγορίθμου • Διαφορετικός συντελεστής απόσβεσης • Συμμετρική κανονικοποίηση του πίνακα μεταβάσεων • Επανακανονικοποίηση 𝑃 = 𝐷−1/2𝐴𝐷−1/2 𝑃 = 𝐴𝐷−1 𝑎 = 0.85, 𝑎 = 0.5 𝐴 = 𝐴 + 𝐼𝑁 (έλεγχος απομάκρυνσης από κόμβους προσωποποίησης) (μείωση επίδρασης υπερβολικά δημοφιλών κόμβων) (αριθμητική ευστάθεια συμμετρικής κανονικοποίησης)
  • 9. Παραλλαγές του αλγορίθμου(2) • Διαδικασία sweep • Χρήση σταθμισμένου γράφου • Παράλειψη κόμβων έργων 𝑃𝑃𝑅𝑆𝑊𝐸𝐸𝑃 𝑣 = 𝑃𝑃𝑅 𝑣 /𝑃𝑅[𝑣] 𝑃 = 𝑊𝐷𝑤 −1 (κατανομή σκορ ανάλογα με το είδος των κόμβων) (μεγαλύτερη διάχυση της πληροφορίας) (μείωση επίδρασης υπερβολικά δημοφιλών κόμβων)
  • 10. Πειράματα Έργο λογισμικού Χρησιμοποιούμενες βιβλιοθήκες [keywords] Σύστημα πρότασης βιβλιοθηκών Προτεινόμενες βιβλιοθήκες Μορφή δεδομένων: Έργο λογισμικού Χρησιμοποιούμενες βιβλιοθήκες Διαχωρισμός συνόλου δεδομένων σε: • Δεδομένα εκπαίδευσης (90% έργων) Εξαγωγή keywords, libraries, κτλ Κατασκευή γράφου • Δεδομένα ελέγχου (10% έργων) Σύγκριση
  • 11. Σύνολα δεδομένων Γράφος Έργα λογισμικού Εξαρτήσεις Κόμβοι Ακμές Maven MALib 7,2 ∙ 105 6,1 ∙ 104 1,9 ∙ 106 1,2 ∙ 105 4,8 ∙ 106 3,1 ∙ 105 9,0 ∙ 106 2,8 ∙ 106
  • 12. Αποτελέσματα Μέθοδος AUC MR MP MF1 HR Coverage PPR85 0.96 0.20 0.31 0.24 0.88 0.11 PPR50 0.96 0.26 0.41 0.32 0.95 0.19 SymRenorm 0.95 0.07 0.11 0.09 0.45 0.12 Cos 0.68 0.08 0.12 0.10 0.56 0.13 Μέθοδος AUC MR MP MF1 HR Coverage PPR85 0.97 0.39 0.59 0.47 0.88 0.17 PPR50 0.97 0.44 0.67 0.53 0.88 0.27 SymRenorm 0.91 0.19 0.30 0.23 0.61 0.88 Cos 0.52 0.01 0.02 0.02 0.14 0.35 Maven MALib Επιλεγμένες – καλύτερες μέθοδοι Μη σταθμισμένος γράφος, περιλαμβάνει κόμβους τύπου Project Χωρίς χρήση γράφου
  • 13. Χρόνοι εκτέλεσης Maven MALib Μέθοδος 1 Επανάληψη Εκτέλεση 1 Επανάληψη Εκτέλεση PPR.85 60ms 1.20 sec 4.8 x 10 6 ακμές 20ms 0.4sec 1.9 x 10 6 ακμές Cos - 0.12 sec - 0.01sec CF GNNs >5 ώρες Σε παρόμοιου μεγέθους συστήματα σχεδόν γραμμικό
  • 14. Εργαλείο γραμμής εντολών Αναζήτηση βιβλιοθηκών με βάση τις λέξεις-κλειδιά “photo filters” Αποτελέσματα αναζήτησης
  • 15. Αναζήτησης «photo filters» στο MALib SymRenorm PPR50 CosSim
  • 16. Μελλοντική εργασία • Εξαγωγή λέξεων-κλειδιών από πληρέστερη περιγραφή • Cache αποτελέσματα του PageRank λόγω γραμμικότητας • Εφαρμογή μεθόδων σε γράφους συσχετίσεων άλλων οντοτήτων με λέξεις-κλειδιά
  • 17. Ευχαριστώ για την προσοχή σας Ερωτήσεις;