SlideShare a Scribd company logo
Aggregation
      of software metrics
      Bogdan Vasilescu
      b.n.vasilescu@student.tue.nl

      Alexander Serebrenik
      a.serebrenik@tue.nl




April 7, 2011
Aggregation techniques for software metrics                                                                          2/8




     Better understand aggregation techniques for software metrics.
                                                                       Source lines of code − freecol−0.9.4




                                                         0.004
                                                         0.003
                                               Density

                                                         0.002
                                                         0.001
                                                         0.000




                                                                 0   500     1000       1500         2000   2500   3000

                                                                                    SLOC per class




     Traditional: mean, sum, median, standard deviation, variance,
     skewness, kurtosis.



/   department of mathematics and computer science
Aggregation techniques for software metrics                                                                                                                 2/8




     Better understand aggregation techniques for software metrics.
                                Household income in Ilocos, the Philippines (1998)                            Source lines of code − freecol−0.9.4
                    5e−06




                                                                                                0.004
                    4e−06




                                                                                                0.003
                    3e−06




                                                                                      Density
          Density




                                                                                                0.002
                    2e−06




                                                                                                0.001
                    1e−06
                    0e+00




                                                                                                0.000




                            0      500000    1000000    1500000   2000000   2500000                     0   500     1000       1500         2000   2500   3000

                                                       Income                                                              SLOC per class




     Traditional: mean, sum, median, standard deviation, variance,
     skewness, kurtosis.
     Inequality indices: Gini, Theil, Atkinson, Hoover, Kolm.

/   department of mathematics and computer science
Correlation study                                                        3/8



     Aggregate SLOC from class to package level.

     Study statistical correlation between pairs of aggregation techniques.

     Not enough to measure.




/   department of mathematics and computer science
Available datasets                                                         4/8


     Qualitas Corpus 20101126 r+e.
         r (recent): the most recent versions from 106 systems.
         e (evolution): all available versions from 13 systems (≥ 10 versions
         available), 414 versions in total.




/   department of mathematics and computer science
Tooling                                                                                                                                                                                                                                                              5/8



     Developed and available tooling to analyze the corpus:
                                             Extract metrics: SLOCCount, Understand (still not generic enough)
                                             Compute inequality indices, perform statistical analyses: R (highly
                                             scriptable)
                                             Put everything together: Python toolchain (easily extendable)

                                             Kendall correlation: Atkinson − skewness (SLOC)                                            Kendall correlation: Gini − Theil (SLOC)                                            Kendall correlation: mean − kurtosis (SLOC)
                                             1.0




                                                                                                                                 1.0




                                                                                                                                                                                                                     1.0
                                                                    q                                                                                                                                                                            q


                                                                                                                                                           q
                                                                                                                                                           q

                                                                                                                                                           q                                                                                     q
                                                                                                                                                           q
                                             0.5




                                                                                                                                 0.5




                                                                                                                                                                                                                     0.5
                                                                                                                                                                                                                                                 q
           Kendall correlation coefficient




                                                                                               Kendall correlation coefficient




                                                                                                                                                                                   Kendall correlation coefficient
                                                                    q
                                             0.0




                                                                                                                                 0.0




                                                                                                                                                                                                                     0.0
                                                                    q




                                                                                                                                                                                                                                                 q
                                             −0.5




                                                                                                                                 −0.5




                                                                                                                                                                                                                     −0.5
                                                                                                                                                                                                                                                 q
                                                                                                                                                                                                                                                 q
                                             −1.0




                                                                                                                                 −1.0




                                                                                                                                                                                                                     −1.0




/   department of mathematics and computer science
Sample results - shape                                                                                                                                                                                                                                                                                 6/8



                                                                                                                                  jfreechart : Atkinson − skewness (SLOC)

                                                                                                                                                                                                                                                   q




                                                                                      4
                                                                                                                                       q                                                                    q             q




                                                                                      3
                                                                                                                q                     q
                                                                                                                                      q
                                                                                                                                                        q




                                                                    skewness (SLOC)
                                                                                                                     q                                                                    q
                                                                                                           q                                                                                      q                   q




                                                                                      2
                                                                                                                q
                                                                                             q                               qq            q q                                    q
                                                                                                                     q      q
                                                                                                                            q                                                 q
                                                                                                                   q        q                                                     q               q



                                                                                      1
                                                                                                                   q                       q                q                         q
                                                                                                      qq                     q                     q        q                                                   q
                                                                                                                     qq     q
                                                                                                           q    q             q       q
                                                                                            q              q                               q
                                                                                      0
                                                                                      −1          qq q
                                                                                                    q
                                                                                                                q
                                                                                                                q          q q
                                                                                                                             q                         q

                                                                                                   q
                                                                                                    q
                                                                                                  q
                                                                                      −2




                                                                                             q

                                                                                           0.0                       0.1                   0.2                                    0.3                           0.4                   0.5

                                                                                                                                                       Atkinson (SLOC)



                                                      jfreechart : Gini − Theil (SLOC)                                                                                                                                                    jfreechart : mean − kurtosis (SLOC)
                    1.5




                                                                                                                                               q                                                                                  q




                                                                                                                                                                                  20
                                                                                                                                  q
                    1.0




                                                                                                                                                            kurtosis (SLOC)
                                                                                                                                 q
                                                                                                                                                                                  15
     Theil (SLOC)




                                                                                                                     q      q
                                                                                                               qq                                                                                                                             qq                                                        q
                                                                                                               q                                                                                                                                                 q
                                                                                                       q
                                                                                                          q
                                                                                                                                                                                  10




                                                                                                       qq                                                                                                                                 q
                    0.5




                                                                                                   q                                                                                                                          q                              q
                                                                          q qq                   q q
                                                                                                 q                                                                                                               q
                                                                         q q q
                                                                                                                                                                                                                                      q
                                                                            q                                                                                                                                                      q
                                                                       qq                                                                                                                                            q                     q                                          q
                                                                                                                                                                                                                                                             q                  q
                                                                    qq
                                                                    qq
                                                                    q                                                                                                                                   q            qq                                                                       q
                                                                                                                                                                                  5




                                                                    q
                                                             qqq qq
                                                              qq
                                                               qq
                                                                q                                                                                                                                 q q           q                  q q
                                                                                                                                                                                                                                           q                 q
                                                        q                                                                                                                                                                   q q                                            q
                                                       q q
                                                        q                                                                                                                                                                        q
                                                      q                                                                                                                                                            q q qqq q q q     qq q
                                       q    q   q q
                                           q q qq
                                                 q                                                                                                                                                q         q         q q
                                                                                                                                                                                                                      q q       q        q                       q   q
                                                                                                                                                                                                                        q q     q      q q                   q                            q
                                qq q
                    0.0




                          q                                                                                                                                                                                      q                  q

                          0.0                 0.2                           0.4                                0.6                               0.8                                          0                     50                100              150           200            250           300

                                                                 Gini (SLOC)                                                                                                                                                                           mean (SLOC)




/   department of mathematics and computer science
/
                                                    Cor. coeff. Atkinson(SLOC) − Kolm(SLOC)                                                                                              Cor. coeff. Gini(SLOC) − Theil(SLOC)

                                                 −1.0      −0.5       0.0       0.5       1.0                                                                                     −1.0        −0.5       0.0        0.5         1.0




                     0.8.1                                                                                                                                                0.8.1
                       1.0                                                                                                                                                  1.0
                       1.1                                                                                                                                                  1.1
             2.0−beta−1                                                                                                                                           2.0−beta−1
             2.0−beta−2                                                                                                                                           2.0−beta−2
             2.0−beta−3                                                                                                                                           2.0−beta−3
             2.0−beta−4                                                                                                                                           2.0−beta−4
                 2.0−final                                                                                                                                            2.0−final
                  2.0−rc2                                                                                                                                              2.0−rc2
                     2.0.1                                                                                                                                                2.0.1
                     2.0.2                                                                                                                                                2.0.2
                     2.0.3                                                                                                                                                2.0.3
             2.1−beta−1                                                                                                                                           2.1−beta−1
             2.1−beta−2                                                                                                                                           2.1−beta−2
             2.1−beta−3                                                                                                                                           2.1−beta−3
            2.1−beta−3b                                                                                                                                          2.1−beta−3b
             2.1−beta−4                                                                                                                                           2.1−beta−4
             2.1−beta−5                                                                                                                                           2.1−beta−5
             2.1−beta−6                                                                                                                                           2.1−beta−6
                 2.1−final                                                                                                                                            2.1−final
                  2.1−rc1                                                                                                                                              2.1−rc1
                     2.1.1                                                                                                                                                2.1.1
                     2.1.2                                                                                                                                                2.1.2
                     2.1.3                                                                                                                                                2.1.3
                     2.1.4                                                                                                                                                2.1.4
                     2.1.5                                                                                                                                                2.1.5
                     2.1.6                                                                                                                                                2.1.6
                     2.1.7                                                                                                                                                2.1.7




department of mathematics and computer science
                     2.1.8                                                                                                                                                2.1.8
                       3.0                                                                                                                                                  3.0
               3.0−alpha                                                                                                                                            3.0−alpha
               3.0−beta1                                                                                                                                            3.0−beta1
               3.0−beta2                                                                                                                                            3.0−beta2
               3.0−beta3                                                                                                                                            3.0−beta3
               3.0−beta4                                                                                                                                            3.0−beta4
                  3.0−rc1                                                                                                                                              3.0−rc1
                     3.0.1                                                                                                                                                3.0.1
                     3.0.2                                                                                                                                                3.0.2
                     3.0.3                                                                                                                                                3.0.3
                                                                                                                                                                                                                                                                                                     Sample results - evolution




                     3.0.4                                                                                                                                                3.0.4
                     3.0.5                                                                                                                                                3.0.5
                       3.1                                                                                                                                                  3.1
              3.1−alpha1                                                                                                                                           3.1−alpha1
               3.1−beta1                                                                                                                                            3.1−beta1
               3.1−beta2                                                                                                                                            3.1−beta2
               3.1−beta3                                                                                                                                            3.1−beta3
                  3.1−rc1                                                                                                                                              3.1−rc1
                  3.1−rc2                                                                                                                                              3.1−rc2
                  3.1−rc3                                                                                                                                              3.1−rc3
                     3.1.1                                                                                                                                                3.1.1
                     3.1.2                                                                                                                                                3.1.2
                     3.1.3                                                                                                                                                3.1.3
              3.2−alpha1                                                                                                                                           3.2−alpha1
              3.2−alpha2                                                                                                                                           3.2−alpha2
                  3.2−cr1                                                                                                                                              3.2−cr1
                  3.2−cr2                                                                                                                                              3.2−cr2
                3.2.0−cr3                                                                                                                                            3.2.0−cr3
                3.2.0−cr4                                                                                                                                            3.2.0−cr4
                3.2.0−cr5                                                                                                                                            3.2.0−cr5
                  3.2.0.ga                                                                                                                                             3.2.0.ga
                                                                                                                                                                                                                                      hibernate − Kendall(Gini(SLOC), Theil(SLOC)) (86 releases)




                 3.2.1−ga                                                                                                                                             3.2.1−ga
                                                                                                hibernate − Kendall(Atkinson(SLOC), Kolm(SLOC)) (86 releases)




                 3.2.2−ga                                                                                                                                             3.2.2−ga
                 3.2.3−ga                                                                                                                                             3.2.3−ga
                 3.2.4−ga                                                                                                                                             3.2.4−ga
               3.2.4−sp1                                                                                                                                            3.2.4−sp1
                 3.2.5−ga                                                                                                                                             3.2.5−ga
                 3.2.6−ga                                                                                                                                             3.2.6−ga
                 3.2.7−ga                                                                                                                                             3.2.7−ga
                3.3.0−cr2                                                                                                                                            3.3.0−cr2
                 3.3.0−ga                                                                                                                                             3.3.0−ga
               3.3.0−sp1                                                                                                                                            3.3.0−sp1
                 3.3.0.cr1                                                                                                                                            3.3.0.cr1
                 3.3.1−ga                                                                                                                                             3.3.1−ga
                 3.3.2−ga                                                                                                                                             3.3.2−ga
           3.5.0−beta−1                                                                                                                                         3.5.0−beta−1
           3.5.0−beta−2                                                                                                                                         3.5.0−beta−2
           3.5.0−beta−3                                                                                                                                         3.5.0−beta−3
           3.5.0−beta−4                                                                                                                                         3.5.0−beta−4
              3.5.0−cr−1                                                                                                                                           3.5.0−cr−1
              3.5.0−cr−2                                                                                                                                           3.5.0−cr−2
               3.5.3−final                                                                                                                                          3.5.3−final
               3.5.5−final                                                                                                                                          3.5.5−final
             3.6.0−beta1                                                                                                                                          3.6.0−beta1
             3.6.0−beta2                                                                                                                                          3.6.0−beta2
             3.6.0−beta3                                                                                                                                          3.6.0−beta3
             3.6.0−beta4                                                                                                                                          3.6.0−beta4
                                                                                                                                                                                                                                                                                                   7/8

More Related Content

Similar to Sattose 2011

Statistical Distribution of Metrics
Statistical Distribution of MetricsStatistical Distribution of Metrics
Statistical Distribution of Metrics
Israel Herraiz
 
Feasible study of a light weight prediction system in China
Feasible study of a light weight prediction system in ChinaFeasible study of a light weight prediction system in China
Feasible study of a light weight prediction system in China
Osamu Masutani
 
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
David Parsons
 
Ascd 2013
Ascd 2013Ascd 2013
Ascd 2013
avega4
 
Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Connectome Classification: Statistical Connectomics for Analysis of Connectom...Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Joshua Vogelstein
 
Computing Risk without Numbers: A Semantic Approach to Risk Metrics - Tim Ke...
Computing Risk without Numbers:  A Semantic Approach to Risk Metrics - Tim Ke...Computing Risk without Numbers:  A Semantic Approach to Risk Metrics - Tim Ke...
Computing Risk without Numbers: A Semantic Approach to Risk Metrics - Tim Ke...
Security B-Sides
 
NumXL 1.55 LYNX release notes
NumXL 1.55 LYNX release notesNumXL 1.55 LYNX release notes
NumXL 1.55 LYNX release notes
Spider Financial
 
Qualifications And Experience Presentation
Qualifications And Experience PresentationQualifications And Experience Presentation
Qualifications And Experience PresentationKevin Baker
 
Objective Determination Of Minimum Engine Mapping Requirements For Optimal SI...
Objective Determination Of Minimum Engine Mapping Requirements For Optimal SI...Objective Determination Of Minimum Engine Mapping Requirements For Optimal SI...
Objective Determination Of Minimum Engine Mapping Requirements For Optimal SI...pmaloney1
 
Baggerly presentation from CSE
Baggerly presentation from CSEBaggerly presentation from CSE
Baggerly presentation from CSE
Ivan Oransky
 
BPMN Usage Survey: Results
BPMN Usage Survey: ResultsBPMN Usage Survey: Results
BPMN Usage Survey: Results
Michele Chinosi
 
Machine Learning for Speech
Machine Learning for Speech Machine Learning for Speech
Machine Learning for Speech butest
 
Artefatos para gestão de problemas
Artefatos para gestão de problemasArtefatos para gestão de problemas
Artefatos para gestão de problemas
Fernando Palma
 
ST.Monteiro-EmbeddedFeatureSelection.pdf
ST.Monteiro-EmbeddedFeatureSelection.pdfST.Monteiro-EmbeddedFeatureSelection.pdf
ST.Monteiro-EmbeddedFeatureSelection.pdfgrssieee
 
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подходCodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подходCodeFest
 
Advances in IOL Technology -Muliti-Focal Impants
Advances in IOL Technology -Muliti-Focal ImpantsAdvances in IOL Technology -Muliti-Focal Impants
Advances in IOL Technology -Muliti-Focal Impants
Ronan Conlon
 
Exploratory Statistics with R
Exploratory Statistics with RExploratory Statistics with R
Exploratory Statistics with R
Christian Robert
 
Calvert, Do ‘normal’ traffic conditions really exist? Why modelling variation...
Calvert, Do ‘normal’ traffic conditions really exist? Why modelling variation...Calvert, Do ‘normal’ traffic conditions really exist? Why modelling variation...
Calvert, Do ‘normal’ traffic conditions really exist? Why modelling variation...
flmkessels
 

Similar to Sattose 2011 (20)

Statistical Distribution of Metrics
Statistical Distribution of MetricsStatistical Distribution of Metrics
Statistical Distribution of Metrics
 
Feasible study of a light weight prediction system in China
Feasible study of a light weight prediction system in ChinaFeasible study of a light weight prediction system in China
Feasible study of a light weight prediction system in China
 
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
The Impact of Methods and Techniques on Outcomes from Agile Software Developm...
 
Ascd 2013
Ascd 2013Ascd 2013
Ascd 2013
 
Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Connectome Classification: Statistical Connectomics for Analysis of Connectom...Connectome Classification: Statistical Connectomics for Analysis of Connectom...
Connectome Classification: Statistical Connectomics for Analysis of Connectom...
 
Computing Risk without Numbers: A Semantic Approach to Risk Metrics - Tim Ke...
Computing Risk without Numbers:  A Semantic Approach to Risk Metrics - Tim Ke...Computing Risk without Numbers:  A Semantic Approach to Risk Metrics - Tim Ke...
Computing Risk without Numbers: A Semantic Approach to Risk Metrics - Tim Ke...
 
Lte asia 2011 s niri
Lte asia 2011 s niriLte asia 2011 s niri
Lte asia 2011 s niri
 
NumXL 1.55 LYNX release notes
NumXL 1.55 LYNX release notesNumXL 1.55 LYNX release notes
NumXL 1.55 LYNX release notes
 
Qualifications And Experience Presentation
Qualifications And Experience PresentationQualifications And Experience Presentation
Qualifications And Experience Presentation
 
Objective Determination Of Minimum Engine Mapping Requirements For Optimal SI...
Objective Determination Of Minimum Engine Mapping Requirements For Optimal SI...Objective Determination Of Minimum Engine Mapping Requirements For Optimal SI...
Objective Determination Of Minimum Engine Mapping Requirements For Optimal SI...
 
Baggerly presentation from CSE
Baggerly presentation from CSEBaggerly presentation from CSE
Baggerly presentation from CSE
 
BPMN Usage Survey: Results
BPMN Usage Survey: ResultsBPMN Usage Survey: Results
BPMN Usage Survey: Results
 
Machine Learning for Speech
Machine Learning for Speech Machine Learning for Speech
Machine Learning for Speech
 
Artefatos para gestão de problemas
Artefatos para gestão de problemasArtefatos para gestão de problemas
Artefatos para gestão de problemas
 
ST.Monteiro-EmbeddedFeatureSelection.pdf
ST.Monteiro-EmbeddedFeatureSelection.pdfST.Monteiro-EmbeddedFeatureSelection.pdf
ST.Monteiro-EmbeddedFeatureSelection.pdf
 
Fsna tool
Fsna toolFsna tool
Fsna tool
 
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подходCodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
 
Advances in IOL Technology -Muliti-Focal Impants
Advances in IOL Technology -Muliti-Focal ImpantsAdvances in IOL Technology -Muliti-Focal Impants
Advances in IOL Technology -Muliti-Focal Impants
 
Exploratory Statistics with R
Exploratory Statistics with RExploratory Statistics with R
Exploratory Statistics with R
 
Calvert, Do ‘normal’ traffic conditions really exist? Why modelling variation...
Calvert, Do ‘normal’ traffic conditions really exist? Why modelling variation...Calvert, Do ‘normal’ traffic conditions really exist? Why modelling variation...
Calvert, Do ‘normal’ traffic conditions really exist? Why modelling variation...
 

More from Bogdan Vasilescu

ICSM 2012 ERA
ICSM 2012 ERAICSM 2012 ERA
ICSM 2012 ERA
Bogdan Vasilescu
 
Benevol 2012
Benevol 2012Benevol 2012
Benevol 2012
Bogdan Vasilescu
 
SOS-Evol 2012
SOS-Evol 2012SOS-Evol 2012
SOS-Evol 2012
Bogdan Vasilescu
 
IPA Spring Days 2012
IPA Spring Days 2012IPA Spring Days 2012
IPA Spring Days 2012
Bogdan Vasilescu
 
ICSM 2011
ICSM 2011ICSM 2011
ICSM 2011
Bogdan Vasilescu
 
Benevol 2011
Benevol 2011Benevol 2011
Benevol 2011
Bogdan Vasilescu
 
Benevol 2010
Benevol 2010Benevol 2010
Benevol 2010
Bogdan Vasilescu
 
Master Thesis presentation
Master Thesis presentationMaster Thesis presentation
Master Thesis presentation
Bogdan Vasilescu
 
Seeing the forest for the trees, UMons 2011
Seeing the forest for the trees, UMons 2011Seeing the forest for the trees, UMons 2011
Seeing the forest for the trees, UMons 2011
Bogdan Vasilescu
 

More from Bogdan Vasilescu (9)

ICSM 2012 ERA
ICSM 2012 ERAICSM 2012 ERA
ICSM 2012 ERA
 
Benevol 2012
Benevol 2012Benevol 2012
Benevol 2012
 
SOS-Evol 2012
SOS-Evol 2012SOS-Evol 2012
SOS-Evol 2012
 
IPA Spring Days 2012
IPA Spring Days 2012IPA Spring Days 2012
IPA Spring Days 2012
 
ICSM 2011
ICSM 2011ICSM 2011
ICSM 2011
 
Benevol 2011
Benevol 2011Benevol 2011
Benevol 2011
 
Benevol 2010
Benevol 2010Benevol 2010
Benevol 2010
 
Master Thesis presentation
Master Thesis presentationMaster Thesis presentation
Master Thesis presentation
 
Seeing the forest for the trees, UMons 2011
Seeing the forest for the trees, UMons 2011Seeing the forest for the trees, UMons 2011
Seeing the forest for the trees, UMons 2011
 

Recently uploaded

Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
TechSoup
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
beazzy04
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Po-Chuan Chen
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
heathfieldcps1
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
RaedMohamed3
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
Jisc
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
BhavyaRajput3
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Atul Kumar Singh
 

Recently uploaded (20)

Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Introduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp NetworkIntroduction to AI for Nonprofits with Tapp Network
Introduction to AI for Nonprofits with Tapp Network
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdfAdversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
Adversarial Attention Modeling for Multi-dimensional Emotion Regression.pdf
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
The basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptxThe basics of sentences session 5pptx.pptx
The basics of sentences session 5pptx.pptx
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Supporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptxSupporting (UKRI) OA monographs at Salford.pptx
Supporting (UKRI) OA monographs at Salford.pptx
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCECLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
CLASS 11 CBSE B.St Project AIDS TO TRADE - INSURANCE
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
Guidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th SemesterGuidance_and_Counselling.pdf B.Ed. 4th Semester
Guidance_and_Counselling.pdf B.Ed. 4th Semester
 

Sattose 2011

  • 1. Aggregation of software metrics Bogdan Vasilescu b.n.vasilescu@student.tue.nl Alexander Serebrenik a.serebrenik@tue.nl April 7, 2011
  • 2. Aggregation techniques for software metrics 2/8 Better understand aggregation techniques for software metrics. Source lines of code − freecol−0.9.4 0.004 0.003 Density 0.002 0.001 0.000 0 500 1000 1500 2000 2500 3000 SLOC per class Traditional: mean, sum, median, standard deviation, variance, skewness, kurtosis. / department of mathematics and computer science
  • 3. Aggregation techniques for software metrics 2/8 Better understand aggregation techniques for software metrics. Household income in Ilocos, the Philippines (1998) Source lines of code − freecol−0.9.4 5e−06 0.004 4e−06 0.003 3e−06 Density Density 0.002 2e−06 0.001 1e−06 0e+00 0.000 0 500000 1000000 1500000 2000000 2500000 0 500 1000 1500 2000 2500 3000 Income SLOC per class Traditional: mean, sum, median, standard deviation, variance, skewness, kurtosis. Inequality indices: Gini, Theil, Atkinson, Hoover, Kolm. / department of mathematics and computer science
  • 4. Correlation study 3/8 Aggregate SLOC from class to package level. Study statistical correlation between pairs of aggregation techniques. Not enough to measure. / department of mathematics and computer science
  • 5. Available datasets 4/8 Qualitas Corpus 20101126 r+e. r (recent): the most recent versions from 106 systems. e (evolution): all available versions from 13 systems (≥ 10 versions available), 414 versions in total. / department of mathematics and computer science
  • 6. Tooling 5/8 Developed and available tooling to analyze the corpus: Extract metrics: SLOCCount, Understand (still not generic enough) Compute inequality indices, perform statistical analyses: R (highly scriptable) Put everything together: Python toolchain (easily extendable) Kendall correlation: Atkinson − skewness (SLOC) Kendall correlation: Gini − Theil (SLOC) Kendall correlation: mean − kurtosis (SLOC) 1.0 1.0 1.0 q q q q q q q 0.5 0.5 0.5 q Kendall correlation coefficient Kendall correlation coefficient Kendall correlation coefficient q 0.0 0.0 0.0 q q −0.5 −0.5 −0.5 q q −1.0 −1.0 −1.0 / department of mathematics and computer science
  • 7. Sample results - shape 6/8 jfreechart : Atkinson − skewness (SLOC) q 4 q q q 3 q q q q skewness (SLOC) q q q q q 2 q q qq q q q q q q q q q q q 1 q q q q qq q q q q qq q q q q q q q q 0 −1 qq q q q q q q q q q q q −2 q 0.0 0.1 0.2 0.3 0.4 0.5 Atkinson (SLOC) jfreechart : Gini − Theil (SLOC) jfreechart : mean − kurtosis (SLOC) 1.5 q q 20 q 1.0 kurtosis (SLOC) q 15 Theil (SLOC) q q qq qq q q q q q 10 qq q 0.5 q q q q qq q q q q q q q q q q qq q q q q q qq qq q q qq q 5 q qqq qq qq qq q q q q q q q q q q q q q q q q q q q qqq q q q qq q q q q q q q qq q q q q q q q q q q q q q q q q q q qq q 0.0 q q q 0.0 0.2 0.4 0.6 0.8 0 50 100 150 200 250 300 Gini (SLOC) mean (SLOC) / department of mathematics and computer science
  • 8. / Cor. coeff. Atkinson(SLOC) − Kolm(SLOC) Cor. coeff. Gini(SLOC) − Theil(SLOC) −1.0 −0.5 0.0 0.5 1.0 −1.0 −0.5 0.0 0.5 1.0 0.8.1 0.8.1 1.0 1.0 1.1 1.1 2.0−beta−1 2.0−beta−1 2.0−beta−2 2.0−beta−2 2.0−beta−3 2.0−beta−3 2.0−beta−4 2.0−beta−4 2.0−final 2.0−final 2.0−rc2 2.0−rc2 2.0.1 2.0.1 2.0.2 2.0.2 2.0.3 2.0.3 2.1−beta−1 2.1−beta−1 2.1−beta−2 2.1−beta−2 2.1−beta−3 2.1−beta−3 2.1−beta−3b 2.1−beta−3b 2.1−beta−4 2.1−beta−4 2.1−beta−5 2.1−beta−5 2.1−beta−6 2.1−beta−6 2.1−final 2.1−final 2.1−rc1 2.1−rc1 2.1.1 2.1.1 2.1.2 2.1.2 2.1.3 2.1.3 2.1.4 2.1.4 2.1.5 2.1.5 2.1.6 2.1.6 2.1.7 2.1.7 department of mathematics and computer science 2.1.8 2.1.8 3.0 3.0 3.0−alpha 3.0−alpha 3.0−beta1 3.0−beta1 3.0−beta2 3.0−beta2 3.0−beta3 3.0−beta3 3.0−beta4 3.0−beta4 3.0−rc1 3.0−rc1 3.0.1 3.0.1 3.0.2 3.0.2 3.0.3 3.0.3 Sample results - evolution 3.0.4 3.0.4 3.0.5 3.0.5 3.1 3.1 3.1−alpha1 3.1−alpha1 3.1−beta1 3.1−beta1 3.1−beta2 3.1−beta2 3.1−beta3 3.1−beta3 3.1−rc1 3.1−rc1 3.1−rc2 3.1−rc2 3.1−rc3 3.1−rc3 3.1.1 3.1.1 3.1.2 3.1.2 3.1.3 3.1.3 3.2−alpha1 3.2−alpha1 3.2−alpha2 3.2−alpha2 3.2−cr1 3.2−cr1 3.2−cr2 3.2−cr2 3.2.0−cr3 3.2.0−cr3 3.2.0−cr4 3.2.0−cr4 3.2.0−cr5 3.2.0−cr5 3.2.0.ga 3.2.0.ga hibernate − Kendall(Gini(SLOC), Theil(SLOC)) (86 releases) 3.2.1−ga 3.2.1−ga hibernate − Kendall(Atkinson(SLOC), Kolm(SLOC)) (86 releases) 3.2.2−ga 3.2.2−ga 3.2.3−ga 3.2.3−ga 3.2.4−ga 3.2.4−ga 3.2.4−sp1 3.2.4−sp1 3.2.5−ga 3.2.5−ga 3.2.6−ga 3.2.6−ga 3.2.7−ga 3.2.7−ga 3.3.0−cr2 3.3.0−cr2 3.3.0−ga 3.3.0−ga 3.3.0−sp1 3.3.0−sp1 3.3.0.cr1 3.3.0.cr1 3.3.1−ga 3.3.1−ga 3.3.2−ga 3.3.2−ga 3.5.0−beta−1 3.5.0−beta−1 3.5.0−beta−2 3.5.0−beta−2 3.5.0−beta−3 3.5.0−beta−3 3.5.0−beta−4 3.5.0−beta−4 3.5.0−cr−1 3.5.0−cr−1 3.5.0−cr−2 3.5.0−cr−2 3.5.3−final 3.5.3−final 3.5.5−final 3.5.5−final 3.6.0−beta1 3.6.0−beta1 3.6.0−beta2 3.6.0−beta2 3.6.0−beta3 3.6.0−beta3 3.6.0−beta4 3.6.0−beta4 7/8