SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
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

Mais conteúdo relacionado

Semelhante a Sattose 2011

Qualifications And Experience Presentation
Qualifications And Experience PresentationQualifications And Experience Presentation
Qualifications And Experience Presentation
Kevin 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
 
Chan cfd lssem paper
Chan cfd lssem paperChan cfd lssem paper
Chan cfd lssem paper
Daniel Chan
 
Machine Learning for Speech
Machine Learning for Speech Machine Learning for Speech
Machine Learning for Speech
butest
 
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подходCodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest
 
Application delivery 2 0
Application delivery 2 0Application delivery 2 0
Application delivery 2 0
Interop
 

Semelhante a 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
 
Chan cfd lssem paper
Chan cfd lssem paperChan cfd lssem paper
Chan cfd lssem paper
 
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
 
Fsna tool
Fsna toolFsna tool
Fsna tool
 
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подходCodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
CodeFest 2012. Ильин А. — Метрики покрытия. Прагматичный подход
 
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...
 
Application delivery 2 0
Application delivery 2 0Application delivery 2 0
Application delivery 2 0
 

Mais de Bogdan Vasilescu

Mais de 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
 

Último

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Último (20)

Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 

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