A Validation of Object-Oriented Design Metrics as Quality Indicators
1. A Validation of Object-Oriented Design Metrics as Quality Indicators Evi Yulianti 1006833110 Iis Solichah 1006800094 Mubarik Ahmad 1006833294 Victor R. Basili Lionel C. Briand Walcelio L. Melo University of Mariland
2.
3.
4. Author Dr. Victor R. Basili (University of Maryland) Department of Computer Science , Professor, 1970 – Present Institute for Advanced Computer Studies , Research Professor, 1984-Present Dr. Lionel C. Briand (Carleton University) Canada Research Chair (Tier I) in Software Quality Engineering Dr. Walcelio (Walt) L. Melo, Professor, Catholic University of Brasilia, DF, Brazil , 1997-2001 Lead Architect, Model Driven Solutions, 2008-now
6. Introduction Time & resource consuming activity help manager : 1. make decisions, plan and schedule activities, 2. allocate resources for the different software activities identify fault-prone modules TESTING SOFTWARE METRIC … ?
7. Introduction (cont’) Metrics must be defined and validated in order to be used in industry Empirical validation aims at demonstrating the usefulness of a measure in practice and is, therefore, a crucial activity to establish the overall validity of a measure. ability to identify fault-prone classes
Tabel 1 menunjukkan bahwa class-class yang diobservasi rata-rata memiliki: -DIT (kedalaman inheritance) rendah NOC rendah (rata-rata class hanya memiliki sedikit children) LCOM juga rendah (rata-rata class memiliki high-cohesion) Dari data tersebut, dapat dilihat bahwa Metrics tersebut tidak dapat melakukan differentiate terhadap sample classes.
Korelasi antar metric rendah. Hanya yang dicetak tebal yang memiliki korelasi cukup signifikan. Pada scatterplots: relationship antara CBO dan RFC tidak disebabkan oleh outliers.
Logistic regression: a standard technique based on maximum likelihood estimation, to analyze the relationships between metrics and the faultproneness of classes. Univariate -> to evaluate the relationship of each of the metrics in isolation and faultproneness Multivariate -> to evaluate the predictive capability of those metrics that had been assessed sufficiently significant in the univariate analysis Formula di atas adalah persamaan relasi untuk multivariate logistic regression. Univariate adalah salah satu kasus khusus dari multivariate (ketika hanya satu variable yang muncul dalam persamaan). Phi menyatakan probabilitas ditemukannya fault pada class saat validasi. Xi menyatakan design metrics sebagai explanatory variable pada model. ( covaviates of the logistic regression equation )
Data statistik yang digunakan pada tabel 3 dan 4: coefficient: semakin besar koefisien, maka pengaruh explanatory variable terhadap respons variable semakin besar. : selisih odd-ratio -> menunjukkan penambahan/pengurangan odd ratio ketika X bertambah satu unit. (X): menunjukkan pengaruh metrics terhadap variable yang diprediksi. p-value: keakuratan estimasi koefisien (selisih koefisien)
Penjelasan NOC: Kebanyakan class dalam sample tidak memiliki lebih dari satu anak. Reuse merupakan faktor signifikan negatif terhadap fault-density [5]. Large NOC are less fault-prone. Penjelasan LCOM: LCOM tidak dapat dianalisis untuk memprediksi nilai probabilitas fault, karena nilai-nilai yang seharusnya negatif dalam LCOM direset menjadi nol. Hal ini mengakibatkan tidak dapat dilakukannya perbandingan yang fair antar class.
Dari total 58 class yang pada actual case memiliki fault, kita bisa memprediksikan 48 class faulty. Dari total 268 fault yang pada actual case terjadi, kita bisa memprediksikan 250 fault. To summarize, results show that the studied OO metrics are useful predictors of fault-proneness.
Code metric ini disediakan oleh Amadeus tool [2]. Mendeteksi 112 class sebagai faulty (actual faulty: 58 class). Terdapat 61 class yang harus diperiksa, padahal bukan faulty.
in logistic regression R2 > 0,3 is considered good so our model seems to be a good predictor.