SlideShare ist ein Scribd-Unternehmen logo
1 von 46
A Validation of Object-Oriented Design Metrics as Quality Indicators Evi Yulianti 1006833110 Iis Solichah 1006800094 Mubarik Ahmad 1006833294  Victor R. Basili   Lionel C. Briand   Walcelio L. Melo University of Mariland
Content ,[object Object],[object Object],[object Object],[object Object],[object Object]
Article ,[object Object],[object Object],[object Object],[object Object]
Author Dr. Victor R. Basili  (University of Maryland) Department of Computer Science , Professor, 1970 – Present Institute for Advanced Computer Studies , Research Professor, 1984-Present Dr. Lionel C. Briand  (Carleton University) Canada Research Chair (Tier I) in Software Quality Engineering Dr. Walcelio (Walt) L. Melo, Professor,  Catholic University of Brasilia, DF, Brazil , 1997-2001 Lead Architect,  Model Driven Solutions,  2008-now
Introduction
Introduction Time & resource  consuming activity help manager : 1. make decisions, plan and schedule activities, 2. allocate resources for the different software activities identify fault-prone modules TESTING SOFTWARE METRIC … ?
Introduction (cont’) Metrics must be defined and validated in order to be used in industry Empirical validation aims at demonstrating the usefulness of a measure in practice and is, therefore, a crucial activity to establish the overall validity of a measure. ability to identify fault-prone classes
Chidamber & Kemerer’s metric [13] ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hypothesis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Data Analysis
DATA ANALYSIS ,[object Object],[object Object],[object Object],[object Object]
Distribution and Correlation Analysis ,[object Object],Number of Class
Distribution and Correlation Analysis (cont.) ,[object Object]
Distribution and Correlation Analysis (cont.) ,[object Object],[object Object]
The Relationships Between Fault Probability and OO Metrics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Relationships Between Fault Probability and OO Metrics (cont.) ,[object Object]
The Relationships Between Fault Probability and OO Metrics (cont.) ,[object Object],[object Object],[object Object],[object Object]
Univariate Analysis ,[object Object],[object Object]
Univariate Analysis (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Multivariate Analysis ,[object Object],[object Object]
Result 1 The   figures before parentheses  i n  the right column are the number of  classes class i f i ed as  faulty  The figures within the parentheses are  the  faults contained  i n  those classes. ,[object Object],[object Object]
Result II ,[object Object],[object Object]
Result III ,[object Object],[object Object],[object Object],Values between parentheses present predictions correctness and completeness when classes are weighted according to number of faults they contain
CASE STUDY: DATA ANALYSIS FOR SAMPLE CLASSES
Class Diagram
Distribution Analysis ,[object Object]
Distribution Analysis (cont.) ,[object Object]
Distribution Analysis (cont.) ,[object Object],WMC DIT RFC NOC LCOM CBO Maximum 15 2 18 2 93 2 Minimum 1 0 1 0 0 0 Mean 6.875 0.5 10.375 0.375 11.625 1.375
Logistic Regression ,[object Object],[object Object],[object Object],Univariate logistic regression is special case where only  one  variable appears
SPSS  V.15 VARIABLE VIEW
DATA VIEW
Univariate Analysis:
coefficient constant z = - 0,513 + 0,075*WMC R 2 Odds ratio π = exp(z) / (1+exp(z))
WMC z= -0,513 + 0,075*WMC π = exp(z) / (1+exp(z)) Class WMC π  Tool.java 1 0,392218 CTextbox.java 1 0,392218 DrawingPackage.java 3 0,428494 Screen.java 5 0,465555 CCircle.java 8 0,521736 ShapeList.java 10 0,558974 CRect.java 12 0,59556 CShape.java 15 0,648397
DIT z= -1,386 + 21,566*DIT π = exp(z) / (1+exp(z)) Class DIT π  Tool.java 0 0,200047 Screen.java 0 0,200047 ShapeList.java 0 0,200047 CShape.java 0 0,200047 DrawingPackage.java 0 0,200047 CCircle.java 1 1 CRect.java 1 1 CTextbox.java 2 1
NOC z= 0,196 - 0,5309*NOC π = exp(z) / (1+exp(z)) Class NOC π  Tool.java 0 0,548844 Screen.java 0 0,548844 ShapeList.java 0 0,548844 CCircle.java 0 0,548844 CTextbox.java 0 0,548844 DrawingPackage.java 0 0,548844 CRect.java 1 0,417049 CShape.java 2 0,296129
CBO z= -2,884 – 2,027*CBO π = exp(z) / (1+exp(z)) Class CBO π  Screen.java 0 0,05295 Tool.java 1 0,297967 ShapeList.java 1 0,297967 CShape.java 1 0,297967 CCircle.java 2 0,763145 CRect.java 2 0,763145 CTextbox.java 2 0,763145 DrawingPackage.java 2 0,763145
RFC z= -0,941 + 0,09*RFC π = exp(z) / (1+exp(z)) Class RFC π  Tool.java 1 0,299223 Screen.java 5 0,379658 CTextbox.java 6 0,401072 CCircle.java 9 0,467297 CRect.java 14 0,579081 CShape.java 15 0,600848 DrawingPackage.java 15 0,600848 ShapeList.java 18 0,663515
LCOM z= 0,288 - 0,231*LCOM π = exp(z) / (1+exp(z)) Class LCOM π  Tool.java 0 0,571506429 Screen.java 0 0,571506429 ShapeList.java 0 0,571506429 CCircle.java 0 0,571506429 CRect.java 0 0,571506429 CTextbox.java 0 0,571506429 DrawingPackage.java 0 0,571506429 CShape.java 93 6,23919E-10
Multivariate Analysis:
constant ,[object Object],[object Object],[object Object],[object Object],[object Object],R 2 z= 50,930 - 4,249*WMC - 33,403*DIT + 28,433*NOC + 5,256*CBO -1,885*RFC π = exp(z) / (1+exp(z))
Related Works
CONCLUSION & FUTURE WORK
Conclusions ,[object Object],[object Object],[object Object]
Future Works ,[object Object],[object Object],[object Object]
Paper Reference List ,[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

03. HAMS - Project Scheduling
03. HAMS - Project Scheduling03. HAMS - Project Scheduling
03. HAMS - Project SchedulingHAMSproject
 
A Robust Framework for Classifying Evolving Document Streams in an Expert-Mac...
A Robust Framework for Classifying Evolving Document Streams in an Expert-Mac...A Robust Framework for Classifying Evolving Document Streams in an Expert-Mac...
A Robust Framework for Classifying Evolving Document Streams in an Expert-Mac...Muhammad Imran
 
Prelim Project OOP
Prelim Project OOPPrelim Project OOP
Prelim Project OOPDwight Sabio
 
Caim discretization algorithm
Caim discretization algorithmCaim discretization algorithm
Caim discretization algorithmenok7
 
AN ENVIRONMENT FOR NON-DUPLICATE TEST GENERATION FOR WEB BASED APPLICATION
AN ENVIRONMENT FOR NON-DUPLICATE TEST GENERATION FOR WEB BASED APPLICATIONAN ENVIRONMENT FOR NON-DUPLICATE TEST GENERATION FOR WEB BASED APPLICATION
AN ENVIRONMENT FOR NON-DUPLICATE TEST GENERATION FOR WEB BASED APPLICATIONecij
 
Cis115 programming logic
Cis115 programming logicCis115 programming logic
Cis115 programming logicCarla Michael
 
Local Influence Diagnostics for Generalized Linear Mixed Models with Overdisp...
Local Influence Diagnostics for Generalized Linear Mixed Models with Overdisp...Local Influence Diagnostics for Generalized Linear Mixed Models with Overdisp...
Local Influence Diagnostics for Generalized Linear Mixed Models with Overdisp...nino_chan38
 
UGC-NET, GATE and all IT Companies Interview C++ Solved Questions PART - 1
UGC-NET, GATE and all IT Companies Interview C++ Solved Questions PART - 1 UGC-NET, GATE and all IT Companies Interview C++ Solved Questions PART - 1
UGC-NET, GATE and all IT Companies Interview C++ Solved Questions PART - 1 Knowledge Center Computer
 
Java - Class Structure
Java - Class StructureJava - Class Structure
Java - Class StructureVicter Paul
 
From CasMaCat to SEECAT: Patterns of Interaction in Advanced Computer-Assiste...
From CasMaCat to SEECAT: Patterns of Interaction in Advanced Computer-Assiste...From CasMaCat to SEECAT: Patterns of Interaction in Advanced Computer-Assiste...
From CasMaCat to SEECAT: Patterns of Interaction in Advanced Computer-Assiste...Yandex
 
Filtering out improper user accounts from twitter user accounts for discoveri...
Filtering out improper user accounts from twitter user accounts for discoveri...Filtering out improper user accounts from twitter user accounts for discoveri...
Filtering out improper user accounts from twitter user accounts for discoveri...siramatu-lab
 
9 d55205 cryptography and network security
9 d55205   cryptography and network security9 d55205   cryptography and network security
9 d55205 cryptography and network securityVinod Kumar Gorrepati
 
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
130321   zephyrin soh - on the effect of exploration strategies on maintenanc...130321   zephyrin soh - on the effect of exploration strategies on maintenanc...
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...Ptidej Team
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a surveyNakul Sharma
 
Irrf Presentation
Irrf PresentationIrrf Presentation
Irrf Presentationgregoryg
 

Was ist angesagt? (20)

Automatic Traceability
Automatic TraceabilityAutomatic Traceability
Automatic Traceability
 
03. HAMS - Project Scheduling
03. HAMS - Project Scheduling03. HAMS - Project Scheduling
03. HAMS - Project Scheduling
 
A Robust Framework for Classifying Evolving Document Streams in an Expert-Mac...
A Robust Framework for Classifying Evolving Document Streams in an Expert-Mac...A Robust Framework for Classifying Evolving Document Streams in an Expert-Mac...
A Robust Framework for Classifying Evolving Document Streams in an Expert-Mac...
 
Prelim Project OOP
Prelim Project OOPPrelim Project OOP
Prelim Project OOP
 
Caim discretization algorithm
Caim discretization algorithmCaim discretization algorithm
Caim discretization algorithm
 
AN ENVIRONMENT FOR NON-DUPLICATE TEST GENERATION FOR WEB BASED APPLICATION
AN ENVIRONMENT FOR NON-DUPLICATE TEST GENERATION FOR WEB BASED APPLICATIONAN ENVIRONMENT FOR NON-DUPLICATE TEST GENERATION FOR WEB BASED APPLICATION
AN ENVIRONMENT FOR NON-DUPLICATE TEST GENERATION FOR WEB BASED APPLICATION
 
Cis115 programming logic
Cis115 programming logicCis115 programming logic
Cis115 programming logic
 
Oop sample ktu
Oop sample ktuOop sample ktu
Oop sample ktu
 
Local Influence Diagnostics for Generalized Linear Mixed Models with Overdisp...
Local Influence Diagnostics for Generalized Linear Mixed Models with Overdisp...Local Influence Diagnostics for Generalized Linear Mixed Models with Overdisp...
Local Influence Diagnostics for Generalized Linear Mixed Models with Overdisp...
 
17515
1751517515
17515
 
UGC-NET, GATE and all IT Companies Interview C++ Solved Questions PART - 1
UGC-NET, GATE and all IT Companies Interview C++ Solved Questions PART - 1 UGC-NET, GATE and all IT Companies Interview C++ Solved Questions PART - 1
UGC-NET, GATE and all IT Companies Interview C++ Solved Questions PART - 1
 
Java - Class Structure
Java - Class StructureJava - Class Structure
Java - Class Structure
 
From CasMaCat to SEECAT: Patterns of Interaction in Advanced Computer-Assiste...
From CasMaCat to SEECAT: Patterns of Interaction in Advanced Computer-Assiste...From CasMaCat to SEECAT: Patterns of Interaction in Advanced Computer-Assiste...
From CasMaCat to SEECAT: Patterns of Interaction in Advanced Computer-Assiste...
 
Filtering out improper user accounts from twitter user accounts for discoveri...
Filtering out improper user accounts from twitter user accounts for discoveri...Filtering out improper user accounts from twitter user accounts for discoveri...
Filtering out improper user accounts from twitter user accounts for discoveri...
 
Intake 38 2
Intake 38 2Intake 38 2
Intake 38 2
 
9 d55205 cryptography and network security
9 d55205   cryptography and network security9 d55205   cryptography and network security
9 d55205 cryptography and network security
 
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
130321   zephyrin soh - on the effect of exploration strategies on maintenanc...130321   zephyrin soh - on the effect of exploration strategies on maintenanc...
130321 zephyrin soh - on the effect of exploration strategies on maintenanc...
 
Hemajava
HemajavaHemajava
Hemajava
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
Irrf Presentation
Irrf PresentationIrrf Presentation
Irrf Presentation
 

Andere mochten auch

Object-Oriented Metrics in Practice
Object-Oriented Metrics in PracticeObject-Oriented Metrics in Practice
Object-Oriented Metrics in PracticeMichele Lanza
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesAlfred Jett Grandeza
 
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsOscar Chaparro
 
Object Oriented Principles
Object Oriented PrinciplesObject Oriented Principles
Object Oriented PrinciplesEmprovise
 
Understanding software metrics
Understanding software metricsUnderstanding software metrics
Understanding software metricsTushar Sharma
 
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...Vahid Garousi
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-designOliver Cheng
 
Metricas de software
Metricas de softwareMetricas de software
Metricas de softwaresophialara123
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metricsdespicable me
 
Current trends in software engineering
Current trends in software engineeringCurrent trends in software engineering
Current trends in software engineeringbrra51
 

Andere mochten auch (17)

Object-Oriented Metrics in Practice
Object-Oriented Metrics in PracticeObject-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
 
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry Practices
 
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality MetricsICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
ICSME14 - On the Impact of Refactoring Operations on Code Quality Metrics
 
Object Oriented Principles
Object Oriented PrinciplesObject Oriented Principles
Object Oriented Principles
 
Understanding software metrics
Understanding software metricsUnderstanding software metrics
Understanding software metrics
 
Oop 2
Oop 2Oop 2
Oop 2
 
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
 
Software Engineering Trends: Vision from Paul Nielsen, SEI
Software Engineering Trends: Vision from Paul Nielsen, SEISoftware Engineering Trends: Vision from Paul Nielsen, SEI
Software Engineering Trends: Vision from Paul Nielsen, SEI
 
Sonar Metrics
Sonar MetricsSonar Metrics
Sonar Metrics
 
Pressman ch-11-component-level-design
Pressman ch-11-component-level-designPressman ch-11-component-level-design
Pressman ch-11-component-level-design
 
Metricas de software
Metricas de softwareMetricas de software
Metricas de software
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
Current trends in software engineering
Current trends in software engineeringCurrent trends in software engineering
Current trends in software engineering
 
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
 
Testing Metrics
Testing MetricsTesting Metrics
Testing Metrics
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
 

Ähnlich wie A Validation of Object-Oriented Design Metrics as Quality Indicators

Cukic Promise08 V3
Cukic Promise08 V3Cukic Promise08 V3
Cukic Promise08 V3gregoryg
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...SAIL_QU
 
ICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationMasud Rahman
 
Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...Mariana de Azevedo Santos
 
Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...eSAT Publishing House
 
Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...eSAT Journals
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Chakkrit (Kla) Tantithamthavorn
 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsProgrameter
 
software engineering module i & ii.pptx
software engineering module i & ii.pptxsoftware engineering module i & ii.pptx
software engineering module i & ii.pptxrani marri
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directionsTao He
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineeringMohesh Chandran
 
Implementation of a new Size Estimation Model
Implementation of a new Size Estimation ModelImplementation of a new Size Estimation Model
Implementation of a new Size Estimation Modelijsrd.com
 
A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug predictionMartin Pinzger
 
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Chakkrit (Kla) Tantithamthavorn
 
Operations Research Digital Material.pdf
Operations Research Digital Material.pdfOperations Research Digital Material.pdf
Operations Research Digital Material.pdfTANVEERSINGHSOLANKI
 
A preliminary study on using code smells to improve bug localization
A preliminary study on using code smells to improve bug localizationA preliminary study on using code smells to improve bug localization
A preliminary study on using code smells to improve bug localizationkrws
 
22_RepeatedMeasuresDesign_Complete.pptx
22_RepeatedMeasuresDesign_Complete.pptx22_RepeatedMeasuresDesign_Complete.pptx
22_RepeatedMeasuresDesign_Complete.pptxMarceloHenriques20
 

Ähnlich wie A Validation of Object-Oriented Design Metrics as Quality Indicators (20)

Cukic Promise08 V3
Cukic Promise08 V3Cukic Promise08 V3
Cukic Promise08 V3
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
ICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-LocalizationICSE2018-Poster-Bug-Localization
ICSE2018-Poster-Bug-Localization
 
Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...Software testing effort estimation with cobb douglas function a practical app...
Software testing effort estimation with cobb douglas function a practical app...
 
Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...Software testing effort estimation with cobb douglas function- a practical ap...
Software testing effort estimation with cobb douglas function- a practical ap...
 
AIRS2016
AIRS2016AIRS2016
AIRS2016
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and Metrics
 
software engineering module i & ii.pptx
software engineering module i & ii.pptxsoftware engineering module i & ii.pptx
software engineering module i & ii.pptx
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
Implementation of a new Size Estimation Model
Implementation of a new Size Estimation ModelImplementation of a new Size Estimation Model
Implementation of a new Size Estimation Model
 
A tale of experiments on bug prediction
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug prediction
 
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
 
Operations Research Digital Material.pdf
Operations Research Digital Material.pdfOperations Research Digital Material.pdf
Operations Research Digital Material.pdf
 
A preliminary study on using code smells to improve bug localization
A preliminary study on using code smells to improve bug localizationA preliminary study on using code smells to improve bug localization
A preliminary study on using code smells to improve bug localization
 
22_RepeatedMeasuresDesign_Complete.pptx
22_RepeatedMeasuresDesign_Complete.pptx22_RepeatedMeasuresDesign_Complete.pptx
22_RepeatedMeasuresDesign_Complete.pptx
 
C04701019027
C04701019027C04701019027
C04701019027
 

A Validation of Object-Oriented Design Metrics as Quality Indicators

  • 1. A Validation of Object-Oriented Design Metrics as Quality Indicators Evi Yulianti 1006833110 Iis Solichah 1006800094 Mubarik Ahmad 1006833294  Victor R. Basili  Lionel C. Briand  Walcelio L. Melo University of Mariland
  • 2.
  • 3.
  • 4. Author Dr. Victor R. Basili (University of Maryland) Department of Computer Science , Professor, 1970 – Present Institute for Advanced Computer Studies , Research Professor, 1984-Present Dr. Lionel C. Briand (Carleton University) Canada Research Chair (Tier I) in Software Quality Engineering Dr. Walcelio (Walt) L. Melo, Professor, Catholic University of Brasilia, DF, Brazil , 1997-2001 Lead Architect, Model Driven Solutions, 2008-now
  • 6. Introduction Time & resource consuming activity help manager : 1. make decisions, plan and schedule activities, 2. allocate resources for the different software activities identify fault-prone modules TESTING SOFTWARE METRIC … ?
  • 7. Introduction (cont’) Metrics must be defined and validated in order to be used in industry Empirical validation aims at demonstrating the usefulness of a measure in practice and is, therefore, a crucial activity to establish the overall validity of a measure. ability to identify fault-prone classes
  • 8.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. CASE STUDY: DATA ANALYSIS FOR SAMPLE CLASSES
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. SPSS V.15 VARIABLE VIEW
  • 33. coefficient constant z = - 0,513 + 0,075*WMC R 2 Odds ratio π = exp(z) / (1+exp(z))
  • 34. WMC z= -0,513 + 0,075*WMC π = exp(z) / (1+exp(z)) Class WMC π Tool.java 1 0,392218 CTextbox.java 1 0,392218 DrawingPackage.java 3 0,428494 Screen.java 5 0,465555 CCircle.java 8 0,521736 ShapeList.java 10 0,558974 CRect.java 12 0,59556 CShape.java 15 0,648397
  • 35. DIT z= -1,386 + 21,566*DIT π = exp(z) / (1+exp(z)) Class DIT π Tool.java 0 0,200047 Screen.java 0 0,200047 ShapeList.java 0 0,200047 CShape.java 0 0,200047 DrawingPackage.java 0 0,200047 CCircle.java 1 1 CRect.java 1 1 CTextbox.java 2 1
  • 36. NOC z= 0,196 - 0,5309*NOC π = exp(z) / (1+exp(z)) Class NOC π Tool.java 0 0,548844 Screen.java 0 0,548844 ShapeList.java 0 0,548844 CCircle.java 0 0,548844 CTextbox.java 0 0,548844 DrawingPackage.java 0 0,548844 CRect.java 1 0,417049 CShape.java 2 0,296129
  • 37. CBO z= -2,884 – 2,027*CBO π = exp(z) / (1+exp(z)) Class CBO π Screen.java 0 0,05295 Tool.java 1 0,297967 ShapeList.java 1 0,297967 CShape.java 1 0,297967 CCircle.java 2 0,763145 CRect.java 2 0,763145 CTextbox.java 2 0,763145 DrawingPackage.java 2 0,763145
  • 38. RFC z= -0,941 + 0,09*RFC π = exp(z) / (1+exp(z)) Class RFC π Tool.java 1 0,299223 Screen.java 5 0,379658 CTextbox.java 6 0,401072 CCircle.java 9 0,467297 CRect.java 14 0,579081 CShape.java 15 0,600848 DrawingPackage.java 15 0,600848 ShapeList.java 18 0,663515
  • 39. LCOM z= 0,288 - 0,231*LCOM π = exp(z) / (1+exp(z)) Class LCOM π Tool.java 0 0,571506429 Screen.java 0 0,571506429 ShapeList.java 0 0,571506429 CCircle.java 0 0,571506429 CRect.java 0 0,571506429 CTextbox.java 0 0,571506429 DrawingPackage.java 0 0,571506429 CShape.java 93 6,23919E-10
  • 41.
  • 44.
  • 45.
  • 46.

Hinweis der Redaktion

  1. Tabel 1 menunjukkan bahwa class-class yang diobservasi rata-rata memiliki: -DIT (kedalaman inheritance) rendah NOC rendah (rata-rata class hanya memiliki sedikit children) LCOM juga rendah (rata-rata class memiliki high-cohesion) Dari data tersebut, dapat dilihat bahwa Metrics tersebut tidak dapat melakukan differentiate terhadap sample classes.
  2. Korelasi antar metric rendah. Hanya yang dicetak tebal yang memiliki korelasi cukup signifikan. Pada scatterplots: relationship antara CBO dan RFC tidak disebabkan oleh outliers.
  3. Logistic regression: a standard technique based on maximum likelihood estimation, to analyze the relationships between metrics and the faultproneness of classes. Univariate -> to evaluate the relationship of each of the metrics in isolation and faultproneness Multivariate -> to evaluate the predictive capability of those metrics that had been assessed sufficiently significant in the univariate analysis Formula di atas adalah persamaan relasi untuk multivariate logistic regression. Univariate adalah salah satu kasus khusus dari multivariate (ketika hanya satu variable yang muncul dalam persamaan). Phi menyatakan probabilitas ditemukannya fault pada class saat validasi. Xi menyatakan design metrics sebagai explanatory variable pada model. ( covaviates of the logistic regression equation )
  4. Data statistik yang digunakan pada tabel 3 dan 4: coefficient: semakin besar koefisien, maka pengaruh explanatory variable terhadap respons variable semakin besar.  : selisih odd-ratio -> menunjukkan penambahan/pengurangan odd ratio ketika X bertambah satu unit.  (X): menunjukkan pengaruh metrics terhadap variable yang diprediksi. p-value: keakuratan estimasi koefisien (selisih koefisien)
  5. Penjelasan NOC: Kebanyakan class dalam sample tidak memiliki lebih dari satu anak. Reuse merupakan faktor signifikan negatif terhadap fault-density [5]. Large NOC are less fault-prone. Penjelasan LCOM: LCOM tidak dapat dianalisis untuk memprediksi nilai probabilitas fault, karena nilai-nilai yang seharusnya negatif dalam LCOM direset menjadi nol. Hal ini mengakibatkan tidak dapat dilakukannya perbandingan yang fair antar class.
  6. Dari total 58 class yang pada actual case memiliki fault, kita bisa memprediksikan 48 class faulty. Dari total 268 fault yang pada actual case terjadi, kita bisa memprediksikan 250 fault. To summarize, results show that the studied OO metrics are useful predictors of fault-proneness.
  7. Code metric ini disediakan oleh Amadeus tool [2]. Mendeteksi 112 class sebagai faulty (actual faulty: 58 class).  Terdapat 61 class yang harus diperiksa, padahal bukan faulty.
  8. in logistic regression R2 > 0,3 is considered good so our model seems to be a good predictor.