Successfully reported this slideshow.
Your SlideShare is downloading. ×

Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Ανάπτυξης Λογισμικού

Ad

Πρόταση βιβλιοθηκών σχετικών με
λέξεις-κλειδιά για την εκκίνηση της
διαδικασίας ανάπτυξης λογισμικού
Διπλωματική εργασία
Ε...

Ad

Κίνητρο
Επιτάχυνση ανάπτυξης → πρόταση σχετικών βιβλιοθηκών
• κατά το αρχικό στάδιο της ανάπτυξης
• βάσει λέξεων-κλειδιών ...

Ad

Βιβλιογραφία πρότασης βιβλιοθηκών
α) Βάσει ομοιότητας περιγραφών τους
(π.χ. αναζήτηση “XML” επιστρεφόμενη βιβλιοθήκη ‘Jack...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Check these out next

1 of 17 Ad
1 of 17 Ad

Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Ανάπτυξης Λογισμικού

Download to read offline

Η χρήση βιβλιοθηκών κώδικα µειώνει το χρόνο ανάπτυξης νέου λογισµικού, δίνει τη δυνατότητα στους προγραµµατιστές να εστιάσουν περισσότερο στην υλοποίηση νέων λειτουργικών απαιτήσεων, και αυξάνει την αξιοπιστία του παραγόµενου κώδικα. Έτσι, η αναζήτηση κατάλληλων βιβλιοθηκών είναι απαραίτητη για τη γρήγορη ανάπτυξη λογισµικού υψηλής ποιότητας. Ταυτόχρονα, όµως, απαιτείται χρόνος (και αντίστοιχο κόστος) για διερεύνηση και επιλογή βιβλιοθηκών µεταξύ των χιλιάδων σχετικών λύσεων που διαµοιϱάζονται µέσω αποθετηρίων λογισµικού. Στην εργασία αυτή, εστιάζουµε στο αρχικό στάδιο της ανάπτυξης έργων λογισµικού, όπου η διαθέσιµη πληροφορία για αναζήτηση συνίσταται στην περιγραφή των έργων προς ανάπτυξη µε λέξεις-κλειδιά. Υπάρχοντα συστήµατα µελετάνε την εξαγωγή σχετικών βιβλιοθηκών ϐάσει της οµοιότητας των περιγραφών τους µε λέξεις-κλειδιά. Αλλά αυτή η πρακτική αγνοεί τη δηµοτικότητα των σχετικών βιβλιοθηκών και τις σηµασιολογικές συσχετίσεις µεταξύ λέξεων που δε βρίσκονται στις περιγραφές τους, όπως λέξεις που βρίσκονται στις περιγραφές έργων λογισµικού που τις χρησιµοποιούν. Για την ταυτόχρονη ενσωµάτωση των παραπάνω σηµασιολογικών συσχετίσεων και της δηµοτικότητας σε µοντέλα πρόβλεψης βιβλιοθηκών, προτείνουµε µια προσέγγιση συνεργατικού ϕιλτραρίσµατος. Για την ακρίβεια, οργανώνουµε βιβλιοθήκες και λέξεις-κλειδιά σε γράφους συσχετίσεων, όπου οι ακµές αντιστοιχούν σε εµφάνιση των λέξεων σε έργα λογισµικού που χρησιµοποιούν τις βιβλιοθήκες. ∆εδοµένης αυτής της οργάνωσης, εφαρµόζουµε παραλλαγές του αλγορίθµου PageRank για τη βαθµολόγηση των κόµβων του γράφου ϐάσει της σχετικότητάς τους µε λέξεις-κλειδιά που περιγράφουν το λογισµικό προς ανάπτυξη και προτείνουµε χρήση των βιβλιοθηκών µε την υψηλότερη βαθµολογία. Αυτή η πρακτική συγκρίνεται πειραµατικά µε υπάρχουσες εναλλακτικές σε δύο σύνολα δεδοµένων της γλώσσας Java, όπου χρησιµοποιούµε τα ονόµατα των έργων λογισµικού ως σύντοµες περγραφές. Η µέθοδός µας παρουσιάζει µεγαλύτερη προβλεπτική ικανότητα σε σχέση µε απλή αναζήτηση λέξεων-κλειδιών σε κλάσµατα του δευτερολέπτου και µπορεί να µεταβληθεί ώστε να παράγει ετερογενείς προβλέψεις.

Η χρήση βιβλιοθηκών κώδικα µειώνει το χρόνο ανάπτυξης νέου λογισµικού, δίνει τη δυνατότητα στους προγραµµατιστές να εστιάσουν περισσότερο στην υλοποίηση νέων λειτουργικών απαιτήσεων, και αυξάνει την αξιοπιστία του παραγόµενου κώδικα. Έτσι, η αναζήτηση κατάλληλων βιβλιοθηκών είναι απαραίτητη για τη γρήγορη ανάπτυξη λογισµικού υψηλής ποιότητας. Ταυτόχρονα, όµως, απαιτείται χρόνος (και αντίστοιχο κόστος) για διερεύνηση και επιλογή βιβλιοθηκών µεταξύ των χιλιάδων σχετικών λύσεων που διαµοιϱάζονται µέσω αποθετηρίων λογισµικού. Στην εργασία αυτή, εστιάζουµε στο αρχικό στάδιο της ανάπτυξης έργων λογισµικού, όπου η διαθέσιµη πληροφορία για αναζήτηση συνίσταται στην περιγραφή των έργων προς ανάπτυξη µε λέξεις-κλειδιά. Υπάρχοντα συστήµατα µελετάνε την εξαγωγή σχετικών βιβλιοθηκών ϐάσει της οµοιότητας των περιγραφών τους µε λέξεις-κλειδιά. Αλλά αυτή η πρακτική αγνοεί τη δηµοτικότητα των σχετικών βιβλιοθηκών και τις σηµασιολογικές συσχετίσεις µεταξύ λέξεων που δε βρίσκονται στις περιγραφές τους, όπως λέξεις που βρίσκονται στις περιγραφές έργων λογισµικού που τις χρησιµοποιούν. Για την ταυτόχρονη ενσωµάτωση των παραπάνω σηµασιολογικών συσχετίσεων και της δηµοτικότητας σε µοντέλα πρόβλεψης βιβλιοθηκών, προτείνουµε µια προσέγγιση συνεργατικού ϕιλτραρίσµατος. Για την ακρίβεια, οργανώνουµε βιβλιοθήκες και λέξεις-κλειδιά σε γράφους συσχετίσεων, όπου οι ακµές αντιστοιχούν σε εµφάνιση των λέξεων σε έργα λογισµικού που χρησιµοποιούν τις βιβλιοθήκες. ∆εδοµένης αυτής της οργάνωσης, εφαρµόζουµε παραλλαγές του αλγορίθµου PageRank για τη βαθµολόγηση των κόµβων του γράφου ϐάσει της σχετικότητάς τους µε λέξεις-κλειδιά που περιγράφουν το λογισµικό προς ανάπτυξη και προτείνουµε χρήση των βιβλιοθηκών µε την υψηλότερη βαθµολογία. Αυτή η πρακτική συγκρίνεται πειραµατικά µε υπάρχουσες εναλλακτικές σε δύο σύνολα δεδοµένων της γλώσσας Java, όπου χρησιµοποιούµε τα ονόµατα των έργων λογισµικού ως σύντοµες περγραφές. Η µέθοδός µας παρουσιάζει µεγαλύτερη προβλεπτική ικανότητα σε σχέση µε απλή αναζήτηση λέξεων-κλειδιών σε κλάσµατα του δευτερολέπτου και µπορεί να µεταβληθεί ώστε να παράγει ετερογενείς προβλέψεις.

Advertisement
Advertisement

More Related Content

More from ISSEL

Advertisement

Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Ανάπτυξης Λογισμικού

  1. 1. Πρόταση βιβλιοθηκών σχετικών με λέξεις-κλειδιά για την εκκίνηση της διαδικασίας ανάπτυξης λογισμικού Διπλωματική εργασία Εκπόνηση: Δημήτριος Βαδικόλιας ΑΕΜ : 7656 Επιβλέποντες: Καθηγητής Ανδρέας Συμεωνίδης Υπ. Διδάκτωρ Εμμανουήλ Κρασανάκης Intelligent Systems & Software Engineering Labgroup Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
  2. 2. Κίνητρο Επιτάχυνση ανάπτυξης → πρόταση σχετικών βιβλιοθηκών • κατά το αρχικό στάδιο της ανάπτυξης • βάσει λέξεων-κλειδιών που περιγράφουν το λογισμικό
  3. 3. Βιβλιογραφία πρότασης βιβλιοθηκών α) Βάσει ομοιότητας περιγραφών τους (π.χ. αναζήτηση “XML” επιστρεφόμενη βιβλιοθήκη ‘Jackson XML’) • αγνοεί πρότυπα κοινής χρήσης β) Βάσει ήδη χρησιμοποιούμενων σε έργα (π.χ. συλλογικό φιλτράρισμα, γράφοι εξαρτήσεων) • αγνοεί λέξεις-κλειδιά Από περιγραφές έργων;
  4. 4. Προτεινόμενη μεθοδολογία Εξαγωγή λέξεων-κλειδιών από περιγραφές έργων λογισμικού Κατασκευή γράφου συσχετίσεων βιβλιοθηκών με λέξεις κλειδιά.
  5. 5. Παράδειγμα αναλυόμενου γράφου Έργο λογισμικού Βιβλιοθήκη InDraw_Color_by _Number_Pixel_A rt Google GData Selectable Rounded Image View Firebase
  6. 6. Προτεινόμενη μεθοδολογία Εξαγωγή λέξεων-κλειδιών από περιγραφές έργων λογισμικού Κατασκευή γράφου συσχετίσεων βιβλιοθηκών με λέξεις κλειδιά. Πρόταση βάσει σημασιολογικών συσχετίσεων και δημοτικότητας
  7. 7. Επιλογή καταλληλότερων βιβλιοθηκών • Χρήση φίλτρων γράφου (αναλύουν συσχετίσεις μεταξύ κόμβων για βαθμολόγηση του πόσο “κοντά” είναι όλοι οι κόμβοι στο δοσμένο σύνολο από λέξεις-κλειδιά) • Εφαρμογή προσωποποιημένου PageRank (φίλτρο γράφων ισοδύναμο με τυχαίους περιπάτους με επανεκκίνηση) 𝑷𝑷𝑹 = 𝛼 ∙ 𝑃 ∙ 𝑷𝑷𝑹 + (1 − 𝑎) ∙ 𝒑𝒆𝒓𝒔𝒐𝒏𝒂𝒍𝒊𝒛𝒂𝒕𝒊𝒐𝒏_𝒗𝒆𝒄𝒕𝒐𝒓
  8. 8. Παραλλαγές του αλγορίθμου • Διαφορετικός συντελεστής απόσβεσης • Συμμετρική κανονικοποίηση του πίνακα μεταβάσεων • Επανακανονικοποίηση 𝑃 = 𝐷−1/2𝐴𝐷−1/2 𝑃 = 𝐴𝐷−1 𝑎 = 0.85, 𝑎 = 0.5 𝐴 = 𝐴 + 𝐼𝑁 (έλεγχος απομάκρυνσης από κόμβους προσωποποίησης) (μείωση επίδρασης υπερβολικά δημοφιλών κόμβων) (αριθμητική ευστάθεια συμμετρικής κανονικοποίησης)
  9. 9. Παραλλαγές του αλγορίθμου(2) • Διαδικασία sweep • Χρήση σταθμισμένου γράφου • Παράλειψη κόμβων έργων 𝑃𝑃𝑅𝑆𝑊𝐸𝐸𝑃 𝑣 = 𝑃𝑃𝑅 𝑣 /𝑃𝑅[𝑣] 𝑃 = 𝑊𝐷𝑤 −1 (κατανομή σκορ ανάλογα με το είδος των κόμβων) (μεγαλύτερη διάχυση της πληροφορίας) (μείωση επίδρασης υπερβολικά δημοφιλών κόμβων)
  10. 10. Πειράματα Έργο λογισμικού Χρησιμοποιούμενες βιβλιοθήκες [keywords] Σύστημα πρότασης βιβλιοθηκών Προτεινόμενες βιβλιοθήκες Μορφή δεδομένων: Έργο λογισμικού Χρησιμοποιούμενες βιβλιοθήκες Διαχωρισμός συνόλου δεδομένων σε: • Δεδομένα εκπαίδευσης (90% έργων) Εξαγωγή keywords, libraries, κτλ Κατασκευή γράφου • Δεδομένα ελέγχου (10% έργων) Σύγκριση
  11. 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. 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. 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. 14. Εργαλείο γραμμής εντολών Αναζήτηση βιβλιοθηκών με βάση τις λέξεις-κλειδιά “photo filters” Αποτελέσματα αναζήτησης
  15. 15. Αναζήτησης «photo filters» στο MALib SymRenorm PPR50 CosSim
  16. 16. Μελλοντική εργασία • Εξαγωγή λέξεων-κλειδιών από πληρέστερη περιγραφή • Cache αποτελέσματα του PageRank λόγω γραμμικότητας • Εφαρμογή μεθόδων σε γράφους συσχετίσεων άλλων οντοτήτων με λέξεις-κλειδιά
  17. 17. Ευχαριστώ για την προσοχή σας Ερωτήσεις;

×