Στατιστική Μελέτη του Ανθρώπινου Παράγοντα και Μετρικών στην Τεχνολογία Λογισμικού
Creators: name: Κώστη, Βιόλα-Μακρίνα Β.
Publisher: name: Aristotle University of Thessaloniki
Year: 2019
Subjects: Τεχνολογία λογισμικού
Ανθρώπινος παράγοντας
Εκτίμηση
Πολυμεταβλητή ανάλυση
Software engineering
Human Factor
Prediction
Multivariate analysis

description: Το Κεφάλαιο 1 αυτής της διατριβής παρέχειτην ορθότητα αρχής για τη χρήση της φορητής τεχνολογίας, και πιο συγκεκριμένα της φορετής ηλεκτροεγκεφαλογραφίας (EEG), στον τομέα της τεχνολογίας λογισμικού. Σε ό,τι αφορά τη μελέτη της προσωπικότητας στα πλαίσια της διερεύνησης του ανθρώπινου παράγοντα στην τεχνολογία λογισμικού, στόχος μας ήταν να αξιολογήσουμε τα αποτελέσματά μας σε ένα μεγαλύτερο δείγμα, με τεχνολόγους λογισμικού που βρίσκονται στο πρώιμο στάδιο της καριέρας τους, χρησιμοποιώντας προηγμένες στατιστικές μεθόδους. Οι συνδέσεις που βρέθηκαν παρουσιάζονται στο Κεφάλαιο 2. Στο Κεφάλαιο 3προσεγγίζουμε το πρόβλημα της εύρεσης σχέσεων της προσωπικότητας των τεχνολόγων λογισμικού με τις εργασιακές τους προτιμήσεις τους εισάγοντας μια μεθοδολογία με στατιστικά εργαλεία που μπορούν να παράσχουν μια νέα και διαφορετική προοπτική για αυτόν τον τύπο δεδομένων.Σε ό,τι αφορά τη μελέτη μετρικών στην τεχνολογία λογισμικού, αφιερώνουμε το Β Μέρος αυτής της διατριβής, το οποίο επίσης αποτελείται από τρία κεφάλαια. Ειδικότερα, τα Κεφάλαια 4 και 5 πραγματεύονται την έννοια της Εκτίμησης Κόστους Λογισμικού ενώ το Κεφάλαιο 6 αυτή του Τεχνικού Χρέους.Μια μεγάλη ποικιλία μεθόδων έχει προταθεί στη βιβλιογραφία σχετικά με την εκτίμηση κόστους λογισμικού, προκειμένου να αυξηθεί η ακρίβεια κατά την πρόβλεψη της προσπάθειας ανάπτυξης νέων έργων. Η εκτίμηση βασισμένη στις αναλογίες (EstimationbyAnalogy - EbA) είναι μια από τις πιο μελετημένες τεχνικές στον τομέα αυτόν τα τελευταία 20 χρόνια. Η δημοτικότητα της μεθοδολογίας μας οδήγησε να μελετήσουμε την τεχνική σε βάθος, εξετάζοντας εναλλακτικούς τρόπους εκμετάλλευσης των ομοιοτήτων, προκειμένου να εκχωρήσουμε βάρη στους γείτονες.Hπαραπάνω μελέτη αναλύεται στο Κεφάλαιο 4. Η σχέση μεταξύ της προσπάθειας λογισμικού και του μεγέθους του έχει μοντελοποιηθεί στη βιβλιογραφία ως εκθετική, υπό την έννοια ότι ο φυσικός λογάριθμος της προσπάθειας εκφράζεται ως γραμμική συνάρτηση του λογαρίθμου του μεγέθους. Η κοινή προσέγγιση για την εκτίμηση των παραμέτρων του γραμμικού μοντέλου είναι η Παλινδρόμηση Ελαχίστων Τετραγώνων (Ordinary Least Squares - OLS), η οποία λαμβάνει υπόψη μόνο το σφάλμα που προκύπτει από την εξαρτημένη μεταβλητή (προσπάθεια), ενώ η μέτρηση της ανεξάρτητης μεταβλητής (μεγέθους) θεωρείται απαλλαγμένη από σφάλματα. Το Κεφάλαιο 5 βασίζεται στο γεγονός ότι στην πράξη η υπόθεση της μέτρησης του μεγέθους χωρίς σφάλμα προσεγγίζει δύσκολα την πραγματικότητα, αφού το μέγεθος ενός έργου λογισμικού εξαρτάται από την ακρίβεια του εργαλείου μέτρησης και συχνά από την υποκειμενικότητα του ίδιου του βαθμολογητή. Τέλος, σχετικά με το Τεχνικό Χρέος (TechnicalDebt, TD), ένα από τα πρώτα βήματα προς την κατεύθυνση της αποτελεσματικής διαχείρισής του είναι η ποσοτικοποίηση και η συνεχής παρακολούθηση του αρχικού κεφαλαίου του TD. Στην τρέχουσα κατάσταση της έρευνας και της πρακτικής, οι πιο συνηθισμένοι τρόποι για την αξιολόγηση του κεφαλαίου του TD είναι με τη χρήση: (α) δομικών μεταβλητών - συνήθως μέσω μετρικών ποιότητας, και (β) ποσοτικοποιημένων μεταβλητών - συνηθέστερα με τη χρήση της μεθόδου SQALE (SoftwareQualityAssessmentbasedonLifecycleExpectations). Στο Κεφάλαιο 6, ερευνούμε εμπειρικά αυτή τη σχέση αναλύοντας τα δεδομένα που προκύπτουν από 20 έργα λογισμικού ανοιχτού κώδικα και δημιουργούμε ένα μοντέλο παλινδρόμησης που χτίζει μια σχέση μεταξύ τους.
description: Chapter 1 of this thesis provides a proof of concept for the use of wearable technology, and specifically wearable Electroencephalography (EEG), in the field of Empirical Software Engineering. Particularly, we investigated the brain activity of Software Engineers (SEngs) while performing two distinct but related mental tasks: understanding and inspecting code for syntax errors.Regarding the study of personality in the context of investigating the human factor in software technology, we aim to evaluate our results in a larger sample, with software engineers in an earlier state of their career, using advanced statistics. The analysis and the links found are presented in detail in Chapter 2. In Chapter 3 we introduce a methodology with statistical tools that can provide a new and different perspective for this type of SE data. Regarding the study of metrics in software technology, we dedicate Part B of this dissertation, which also consists of three chapters. In particular, Chapters 4 and 5 deal with the concept of Software Cost Estimation and Chapter 6with that of Technical Debt.A large variety of methods has been proposed in the literature about Software Cost Estimation,in order to increase accuracy when predicting the effort of developing new projects. Estimationby Analogy is one of the most studied techniques in this area the last 20 years. The popularity of the methodology led us in a study analyzed in Chapter 4.Additionally, the relation between software effort and size has been modeled in the literature as exponential, in the sense that the natural logarithm of effort is expressed as a linear function of the logarithm of size. The common approach to estimate the parameters of the linear model is ordinary least squares regression which considers only the error arising from the dependent variable (effort), while the measurement of independent variable (size) is considered free of errors. The basis of Chapter 5 is that in practice the assumption of measuring the size without error is hardly true, since the size of a software project depends on the precision of the tool of measurement and often by the subjectivity of the rater. Finally, regarding Technical Debt (TD), one of the first steps towards its effective management is the quantification and continuous monitoring of the TD principal. In the current state-of-research and practice the most common ways to assess TD principal are the use of: (a) structural proxies—i.e., most commonly through quality metrics; and (b) monetized proxies—i.e., most commonly using the SQALE (Software Quality Assessment based on Lifecycle Expectations) method. In Chapter 6, we empirically explore this relation by analyzing data obtained from 20 open source software projects and build a regression model that establishes a relationship between them.