SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Aggregation techniques for software metrics

Statistical Distribution of Metrics
Statistical Distribution of MetricsStatistical Distribution of Metrics
Statistical Distribution of MetricsIsrael 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 ChinaOsamu 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 2013avega4
 
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 notesSpider 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 CSEIvan Oransky
 
Chan cfd lssem paper
Chan cfd lssem paperChan cfd lssem paper
Chan cfd lssem paperDaniel Chan
 
BPMN Usage Survey: Results
BPMN Usage Survey: ResultsBPMN Usage Survey: Results
BPMN Usage Survey: ResultsMichele 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 problemasFernando 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
 
Exploratory Statistics with R
Exploratory Statistics with RExploratory Statistics with R
Exploratory Statistics with RChristian 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
 

Similaire à Aggregation techniques for software metrics (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
 
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. Ильин А. — Метрики покрытия. Прагматичный подход
 
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...
 

Plus 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
 

Dernier

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 

Dernier (20)

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 

Aggregation techniques for software metrics

  • 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