100 likes | 254 Views
TRACKING MISTAKES IN SOFTWARE MEASUREMENT USING FUZZY DATA ANALYSIS. Militon FRENŢIU, Horia F. POP Department of Computer Science Babeş-Bolyai University. Contents. Introduction Experimental study Software metrics Fuzzy PCA, Fuzzy Hierarchic Clustering Results Comments Conclusions.
E N D
TRACKING MISTAKES IN SOFTWARE MEASUREMENTUSING FUZZY DATA ANALYSIS Militon FRENŢIU, Horia F. POP Department of Computer Science Babeş-Bolyai University
Contents • Introduction • Experimental study • Software metrics • Fuzzy PCA, Fuzzy Hierarchic Clustering • Results • Comments • Conclusions
Introduction • Software metrics • improve the software development process • evaluate the quality of a software product • useful in education • Issues approached by us • effect of programming style on software attributes • study of relationships between attributes • effect of education on projects quality
Experimental study • 34 projects produced by second year undergraduate students as part of their requirements curriculum • attributes evaluated by postgraduate students from a Master group studying Software metrics • use of fuzzy data analysis methods for tracking mistakes in projects evaluation
requirements description good specification function points clarity of design correctness of design completeness of design diagrams of design modules specification algorithms description lines of code no. of comments good use of comments good use of free lines indentation good names readability comprehensibility number of classes number of methods for all classes changeability (modifiability) structuredness testability reliability efficiency extensibility adaptability clarity of documentation maintainability simplicity usability portability quality average of weighted methods per class depth of inheritance Software metrics
Fuzzy PCA • Fuzzy Principal Components Analysis • Data dimensionality reduction: new, fewer variables • Principal components correspond to axes of maximal elongation of data • Principal components necessary to conserve 90% of data variance is considerably less than the size of data space • Advantage: fuzziness in data, robustness, isolated points
Fuzzy Clustering • Data representation: vectors of measured values • Feature extraction: to reduce data dimensionality and eliminateredundant characteristics • Clusters shape: different geometric prototypes; norms or scalar products • Clusters size: use of adaptive distance or adaptive algorithms • Clusters validity: optimal number of classes through validity functionals,clusters merging/splitting or by using a hierarchical approach • Final fuzzy partition: needs to be defuzzied; it should not be discarded • Method: fuzzy objective function minimization
Results: Fuzzy Clustering • ClassMembers(Fuzzy membership • 1.1.13 5 8 14 27 30 degrees are essential • 1.1.27 29 31 33 to understand results) • 1.2.1.11 10 16 19 • 1.2.1.26 9 15 21 22 25 26 32 • 1.2.2.12 11 17 • 1.2.2.24 13 18 23 • 2.128 • 2.2.1.120 • 2.2.1.212 • 2.2.224
Comments and conclusions • Isolated (individual or grouped) points • Meaning: different mistakes in measures • P27 – incorrect data typing (classes – comments) • P30 – incorrect typing (comments - lines) • P20 – relationship (wrong changeability and structuredness) • P12 – relationship (wrong comprehensibility) • P24 – relationship (wrong changeability) • P28 – relationship (wrong comprehensibility)