Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Μιλτιάδης Σιάββας 7523

121 views

Published on

Σχεδίαση και ανάπτυξη πλαισίου αξιολόγησης ποιότητας έργων λογισμικού βασισμένη σε στατική ανάλυση κώδικα και ασαφείς τεχνικές πολυκριτηριακής λήψης αποφάσεων

Published in: Software
  • Be the first to comment

  • Be the first to like this

Μιλτιάδης Σιάββας 7523

  1. 1. Σιάββας Μιλτιάδης Υπό την επίβλεψη του κ. Ανδρέα Λ. Συμεωνίδη Επίκουρου καθηγητή ΤΗΜΜΥ ΑΠΘ Και του κ. Χατζηδημητρίου Κυριάκου Μεταδιδακτορικού ερευνητή ΤΗΜΜΥ ΑΠΘ Θεσσαλονίκη, 2016 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογιστών (ΕΠΥ)
  2. 2. Δομή Παρουσίασης  Εισαγωγή  State of the art  Σκοπός της διπλωματικής  Ανάλυση του συστήματος  Πειράματα/Συμπεράσματα  Μελλοντική εργασία 2
  3. 3. Εισαγωγή  Ψηφιακή Εποχή  Πολλά προϊόντα λογισμικού αναπτύσσονται συνεχώς  Ποιότητα λογισμικού βασικό ζήτημα τόσο για τον τελικό χρήστη όσο και για τις εταιρείες.  Σημαντικό θέμα έρευνας  Αποσαφήνιση έννοιας  Καθολικά αποδεκτός μηχανισμός αξιολόγησης  Αναζήτηση μηχανισμών εξαγωγής μοντέλων ποιότητας τα οποία να ανταποκρίνονται στις ανάγκες/απαιτήσεις των ενδιαφερόμενων. 3
  4. 4. ISO/IEC 25010 4
  5. 5. Ιεραρχική Δομή Μοντέλου Εκτίμησης 5
  6. 6. State of the Art Παρόμοια Συστήματα Μειονεκτήματα  Δύο συστήματα με παρόμοια λογική:  Το μοντέλο SIG  Το Quamoco  Μοντέλο SIG:  Κλειστού κώδικα  Αξιολόγηση Συντηρισιμότητας  Μη αυτοματοποιημένη διαδικασία σχεδίασης  Quamoco:  Μη αξιόπιστος μηχανισμός εξαγωγής βαρών  Εξαιρετικά πολύπλοκα μοντέλα 6
  7. 7. Σκοπός Διπλωματικής Εργασίας Σχεδίαση και ανάπτυξη ενός συστήματος το οποίο να επιτρέπει την εξαγωγή αξιόπιστων μοντέλων ποιότητας τα οποία να μπορούν να χρησιμοποιηθούν άμεσα για την αξιολόγηση προϊόντων (έργων) λογισμικού. Το σύστημα βασίζεται:  Στη στατική ανάλυση ενός αποθετηρίου αναφοράς  Σε πολυκριτηριακές τεχνικές λήψης αποφάσεων 7
  8. 8. Δομή του Συστήματος 8
  9. 9. Δομή του Συστήματος 9
  10. 10. Quality Model Designer Το σύστημα χρησιμοποιεί δύο εργαλεία: • CKJM Extended • PMD Δύο τύποι ιδιοτήτων: • Ιδιότητες Μετρικών • Ιδιότητες Ευρημάτων 10
  11. 11. Quality Model Designer Ιδιότητες Μετρικών : Ιδιότητες Ευρημάτων: 11
  12. 12. Quality Model Designer 12
  13. 13. Threshold Calculator 13
  14. 14. Quality Model Designer 14
  15. 15. Αναλυτική Ιεραρχική Διαδικασία TQI Maintainability Reliability Security Performance Maintainability - 5/1 9/1 3/2 Reliability - - 5/3 1/2 Security - - - 1/6 Performance - - - - TQI Maintainability Reliability Security Performance Maintainability 1 5/1 9/1 3/2 Reliability 1/5 1 5/3 1/2 Security 1/9 3/5 1 1/6 Performance 2/3 2/1 6/1 1 w 0.5178 0.1168 0.0588 0.3066 Έστω τα κριτήρια επιλογής και οι ποσοτικοποιημένες κρίσεις των ζευγών που εκφράζονται μέσω του αμοιβαίου πίνακα : τότε τα βάρη δίδονται από: 15
  16. 16. Ασαφής Αναλυτική Ιεραρχική Διαδικασία Ασαφοποιητής Υπολογισμός Ασαφών Βαρών Αποασαφοποιητής w 16
  17. 17. Ασαφής Αναλυτική Ιεραρχική Διαδικασία Ποιοτική Τιμή Κέντρο Τριγώνου (m) Very Low 1 Low 3 Moderate 5 High 7 Very High 9 Τιμή Αβεβαιότητας σ U 0.9 D 0.5 C 0.1 1. Ασαφοποιητής 17
  18. 18. Ασαφής Αναλυτική Ιεραρχική Διαδικασία 2. Υπολογισμός βαρών 3. Αποασαφοποίηση Χρήση της μεθόδου του κέντρου βάρους 18
  19. 19. Quality Model Designer 19
  20. 20. Quality Model Exporter 20
  21. 21. 21
  22. 22. Δομή του Συστήματος 22
  23. 23. Single Project Evaluator Συνάθροιση πρώτου επιπέδου : • Υπολογισμός βαθμού ποιότητας των ιδιοτήτων Συνάθροιση δευτέρου επιπέδου: • Υπολογισμός βαθμού ποιότητας χαρακτηριστικών • Υπολογισμός συνολικού δείκτη ποιότητας 23
  24. 24. Single Project Evaluator 24
  25. 25. Δομή του Συστήματος 25
  26. 26. Δομή του Συστήματος 26
  27. 27. Online Quality Evaluator 27
  28. 28. Λίστα Πειραμάτων Πείραμα 1: Εξαγωγή μοντέλου βάσης – Έλεγχος υπόθεσης  Ελάχιστο πλήθος γραμμών κώδικα αποθετηρίου : 1.4 εκατομμύρια LOC (περίπου) Πείραμα 2: Σύγκριση τεχνικών εξαγωγής βαρών  Υψηλή ετεροσυσχέτιση μεταξύ των αποτελεσμάτων Πείραμα 3: Σύγκριση σειριακής/παράλληλης υλοποίησης  Σημαντική επίσπευση της διαδικασίας μέσω παραλληλοποίησης Πείραμα 4: Αξιολόγηση ποιότητας έργων λογισμικού Πείραμα 5: Σύγκριση ποιότητας με δημοτικότητα προϊόντων λογισμικού Σκοπός Πειραμάτων:  Επικύρωση λειτουργίας (πειράματα 1 και 2)  Βελτίωση επίδοσης (πείραμα 3)  Αξιολόγηση Κώδικα (πειράματα 4 και 5) 28
  29. 29. Πείραμα 4 : Αξιολόγηση Προϊόντων Εφαρμογή σε Auto-generated projects Εφαρμογή σε υπαρκτά προϊόντα λογισμικού Όνομα Προϊόντος LOC TQI Annotations_plugin 58 0.8149 Hamcrest 48890 0.79 Apache Commons 24907 0.7465 Javac 120726 0.7425 Joda Converter 6542 0.7158 Findbugs 491 0.6954 Persistence 1422 0.6767 Jpa 3286 0.6705 Maven-Model 35684 0.6702 Google Protobuf 78046 0.6527 Όνομα Προϊόντος LOC TQI HyperSQL 361948 0.3934 Hamcrest Core 2557 0.3765 bcel 72470 0.3714 Jackson data mapper 69508 0.3590 Jcommander 6231 0.3489 Osgi 18326 0.3249 Compentium 2272 0.3220 Dom4j 38022 0.3217 Jackson 22035 0.3200 Slf4j 2983 0.2912 29
  30. 30. Πείραμα 4 : Αξιολόγηση Προϊόντων Έκδοση Προϊόντος LOC TQI v0.1 725 0,7341 v0.2 1647 0,6374 v0.3 10853 0,6538 v0.4 10853 0,6538 v0.5 10742 0,6459 v0.6 14298 0,6492 v0.7 17354 0,6446 v1.0 18365 0,6644 v1.1 19519 0,6654 v1.3 12930 0,6438 v1.4 12930 0,7234 v1.5 13159 0,8115 30
  31. 31. Πείραμα 5 : Σύγκριση Ποιότητας με Δημοτικότητα Όνομα Προϊόντος Reputation* Quality JUnit 1 33 Bcel 2 92 Slf4j 3 99 Jaxb-Runtime 4 73 Logback 5 40 Guava 6 43 Commons-IO 7 66 Log4j 8 51 Mockito 9 60 Commons-Lang 10 30 Spearman’s Rank Coefficient: • rho = -0.2616742 • p = 0.008708 * Η κατάταξη που είχαν τα προϊόντα λογισμικού στις 29/1/2016 31
  32. 32. Μελλοντική Εξέλιξη  Επέκταση σε περισσότερες γλώσσες προγραμματισμού.  Εφαρμογή πιο προηγμένων τεχνικών παραλληλοποίησης της στατικής ανάλυσης  Δημιουργία ολοκληρωμένης διαδικτυακής υπηρεσίας:  Πιστοποίησης ποιότητας  Συνεχούς ελέγχου ποιότητας 32
  33. 33. Ερωτήσεις; 33
  34. 34. Πείραμα 1 : Έλεγχος Υπόθεσης Έλεγχος υπόθεσης: Δεν υπάρχει στατιστικά σημαντική διαφορά μεταξύ των ορίων Μέγεθος Αποθετηρίου p Total LOC 90 0.1704 5,057,202 80 0.1482 4,792,348 70 0.1124 4,590,831 60 0.1392 3,738,618 50 0.06411 3,265,838 40 0.05925 2,346,764 30 0.05687 1,691,153 25 0.04859 1,347,993 20 0.04719 1,064,100 15 0.04981 959,179 10 0.03738 414,563 Γενικός τύπος Γενικός τύπος Γενικός τύπος Γενικός τύπος Γενικός τύπος Γενικός τύπος Γενικός τύπος Γενικός τύπος Γενικός τύπος Γενικός τύπος 34
  35. 35. Πείραμα 2 : Σύγκριση Τεχνικών Εξαγωγής Βαρών 35
  36. 36. Πείραμα 2 : Σύγκριση Τεχνικών Εξαγωγής Βαρών 36
  37. 37. Πείραμα 3 : Σύγκριση Σειριακού/Παράλληλου Μοντέλο Βάσης: • Σειριακή Υλοποίηση : 3.5 – 4 hours (best case) • Παράλληλη υλοποίηση: 1.5 hours (worst case) 37
  38. 38. Αποτελέσματα Πολλαπλής Αξιολόγησης 38

×