SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Class'Level'Fault'PredicCon''
using'SoMware'Clustering''
Giuseppe'Scanniello ''
'
Carmine'Gravino '
1

2

'Andrian'Marcus3''

Tim'Menzies4'
'
'

giuseppe.scanniello@unibas.it,''gravino@unisa.it'
'amarcus@wayne.edu,'''Cm@menzies.us'''
'
1'University'of'Basilicata,'Italy''
2'Italy'University'of'Salerno,'Italy''
3'Wayne'State'University,'USA''
4'West'Virginia'University,'USA'

'
'
'
This talk=
BorderFlow clustering for defect prediction
•  !Defect!predic+on!
–  Sort'modules'by'odds'of'having'defects'
–  Used'to'prioriCzing'subsequent'work'
'

•  Borderflow'
–  Finds'code'clusters'with'
•  High'cohesion'
•  Low'coupling'
'

•  Produces'beRer'defect'predictors.'

2'
Q:'Why?''
A:'Too'much'blah,'blah'
•  SoMware'is'being'wriRen'by'
–  More'people'
–  For'more'tasks'
–  Using'changing'tools'
–  On'ever'changing'
plaWorms'
'
'
•  Any'claim'that'X'is'always'THE'prime''determiner'of''
defects,'efforts,'livelocks,'etc'etc,'etc'is'…..'
–  Trite'simplificaCons'of'a'more'complex'issue'
3'
Local'lessons'>'Trite'global'claims'
•  Cluster'data'
•  Learn'1'model'per'cluster'
– 
– 
– 
– 
– 
– 
– 

Context^specific'soluCons'
BeRer'predicCons,''
lower'variance','
lower'false'alarm,'
faster'runCmes'
beRer'explanaCon'
etc.'

•  As'recommended'by''
'
any'number'of'papers'
– 
– 
– 
– 
– 

'

Turhan:ESEj’09;//
Menzies:ASE’11,TSE’13;//
Be:enburg:MSR’12;//
Yang:IST’13//
etc,'etc,'etc.'
'

4'
Related'Work'
•  !How'to'cluster?''

–  By'intra^module'features?''

•  Menzies:ASE’11,TSE’13;//Be:enburg:MSR’12/

–  By'performance'deltas'of'models'learned''
from'different'straCficaCons?'''

Need'principles'
for'reducing'
opCon'space'

•  Yang:IST’13;/He:ASEj’12;/He:ESEM’13/

•  And'what'features'to'use?'
–  Just'staCc'code'measures:'

•  'Menzies:ASE’11,TSE’13;//Be:enburg:MSR’12'

–  Using'design'+'code'arCfacts?''''
•  Schroter:ESEM’06/

–  Using'soMware'process'+product'measures'?'
•  Kamei:ICSM’10/

–  Using'synthesized'aRributes'using'PCA'or'LSI?'
•  'Nagappan:ICSE’06,'Tan:WCRE’11/
/

Hence,''
this'paper'

•  Premise'of'this'paper:'

–  These'How'and'What'are'related'

5'
New'idea''
•  SoMware'has''
natural'clusters'
–  Regions'of'high'cohesion'
and'low'coupling'
'

•  What'if'we'exploited'
that'naturally'occurring'
structure?'
'

•  So'cluster'not'by'intra7module!features;''
–  e.g.'as'done'by'Menzies:ASE’11,TSE’13;/Be:enburg:MSR’12;/etc/
–  But'by'inter7module!features!
!
•  Use'a'clusterer'that'understands'cohesion'and'coupling'
–  This'talk:'BorderFlow'clustering'for'defect!predic+on!

6'
Target'domain'
•  Defect'predicCon'from'staCc'
code'features'
•  Easy'to'use:''
–  scalable'feature'extractors'+'logs'of'
defects'found'

•  Widely'used:'
–  PrioriCze'inspecCons:'find'20%'of'code'
with'80%'of'errors'
•  Ostrand:ISSTA’04;'Nagappan:ICSE’06;'
Menzies:ASEj’10;'Tosun:IAAI’10;'etc'etc'

•  Useful'to'use:'
–  Compared'to'(some)'samples'of'
industrial'pracCces…'
•  Finds'more'defects:'Menzies:TSE’07;''
7'
Borderflow'
Ngomo:CLCing’09/
•  Graph'G'='(V,E);'V'are'classes'''
'
•  e(ci','cj')' 'E'if''cj''references'ci''
–  In'class'instanCaCon,'method'invocaCon,'or'field'access'
–  JRIPPLES:'hRp://jripples.sourceforge.net/'
'

•  A'cluster'X'is'a'subset'of'V'that'maximizes:'at'
–  F(X)' '='Ω(b(X),X)''/'Ω(b(X'),'n(X'))'
–  'b(X)' '=''border'nodes'inside'X'
–  'n(X)' '='direct'neighbors'of'b(X),'outside'of'X'
–  Ω''
'=''number'of'the'edges''between''subsets'of'V'';'''
'
'''''Ω(X,Y)=Σ'e(ci,cj)|ci' X'and'cj' Y''
'

•  'IteraCvely'inserts''nodes'in'n(X)'Cll''F(X)'is'maximized.'
–  1)''Candidates:'find''C('X')'='nodes'not'in'X''where'''F(X+C(X))'>'F(X)'
–  2)''Prune:''subset'Y''in''C(X)'that''maximize'Ω(Y,'n(X')).'
–  3)'Test:'if'F(X+Y)'>='F(X),'then'X'='X'+'Y'

8'
Experiment:'
leave^one^out,'JAVA'classes,''
learn'from'clusters'vs'learn'from'all''
! 
! 

! 

Dependent'variable'
!  ClassFault.'
'
independent:''
!  WMC''
!  Weighted'Methods''
per'Class)'
!  DIT''
!  Depth'Inheritance'Tree''
!  NOC''
!  Number'Of'Children)'
!  CBO''
!  Coupling'Between''
Object'classes'
!  RFC''
!  Response'For'Class'
!  LCOM''
!  Lack'of'Cohesion'in'
Methods'
!  NPM''
!  Number'of''
Public'Methods'
!  LOC''
!  Lines'Of'Code'
'
Hypothesis'test:Mann^Whitney'(5%)'

Java'systems'''from'promisedata.googleode.com'
X'='one'of''Ant,Jedit,Lucene,POI,Synapse,Velocity,Xalan''Xerces'
'
'
Version'='one'version'of'X''
Clusters'='BorderFlow('Version')'
'
'
For'Cluster'in'Clusters/
'''''''For'Class'in'Version/
'''''''''''''Test '= 'Class/
''''''''''''''''a '= 'Class.Faults'
'''''''''''Train '= 'Version'–'Test''
'''''''Model0 '= 'SwLSR'('Train')!#!baseline:!global!model'
'''''''''''''''''p0'= 'Model0('Test')!
'''''''Model1 '= 'SwLSR('Cluster'–'Class)'#!!local!model'
'''''''''''''''''p1'= 'Model1('Class/)'
9'
Results:'
Error'='mean'absolute'residuals'='p^a'
(more'='worse)'

^0.5'

'JEdit'4.0'''
'Velocity'1.6.1''
'Velocity'1.5''

0'

'JEdit'4.3''

–  See'Velocity,''
Jedit'(but'only'
some'versions)'

0.5'

'JEdit'4.2''

•  ExcepCons:''

1'

'Velocity'1.4''

–  Has'less'error'
–  SomeCmes,''
much'beRer'

1.5'

'JEdit'3.2.1''
'JEdit'4.1''

•  Usually,''
local'is'best'

^1'
global'

local'

delta'
10'
Summary!

Future!Work!

•  Too'many'opCons'

•  Repeat'on'more'data'sets'
'
•  Compare'with'other'local'learners'
'
•  Test'if'inter^module'always'best'

–  Need'principles'to'design'data'
miners'for'soMware'engineering'
'

•  We'applied'a'core'SE'principle'
–  Coupling'and'cohesion'
'

•  Used'it'to'select'both'
–  A'data'miner:'BorderFlow'
–  And'the'aRributes'it'explores'
•  Inter^module'features'
'

•  Obtained'beRer'results'
11'

Mais conteúdo relacionado

Mais de CS, NcState

Talks2015 novdec
Talks2015 novdecTalks2015 novdec
Talks2015 novdecCS, NcState
 
GALE: Geometric active learning for Search-Based Software Engineering
GALE: Geometric active learning for Search-Based Software EngineeringGALE: Geometric active learning for Search-Based Software Engineering
GALE: Geometric active learning for Search-Based Software EngineeringCS, NcState
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest linkCS, NcState
 
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
Three Laws of Trusted Data Sharing:(Building a Better Business Case for Dat...Three Laws of Trusted Data Sharing:(Building a Better Business Case for Dat...
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...CS, NcState
 
Lexisnexis june9
Lexisnexis june9Lexisnexis june9
Lexisnexis june9CS, NcState
 
Welcome to ICSE NIER’15 (new ideas and emerging results).
Welcome to ICSE NIER’15 (new ideas and emerging results).Welcome to ICSE NIER’15 (new ideas and emerging results).
Welcome to ICSE NIER’15 (new ideas and emerging results).CS, NcState
 
Icse15 Tech-briefing Data Science
Icse15 Tech-briefing Data ScienceIcse15 Tech-briefing Data Science
Icse15 Tech-briefing Data ScienceCS, NcState
 
Kits to Find the Bits that Fits
Kits to Find  the Bits that Fits Kits to Find  the Bits that Fits
Kits to Find the Bits that Fits CS, NcState
 
Ai4se lab template
Ai4se lab templateAi4se lab template
Ai4se lab templateCS, NcState
 
Automated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUAutomated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUCS, NcState
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements EngineeringCS, NcState
 
172529main ken and_tim_software_assurance_research_at_west_virginia
172529main ken and_tim_software_assurance_research_at_west_virginia172529main ken and_tim_software_assurance_research_at_west_virginia
172529main ken and_tim_software_assurance_research_at_west_virginiaCS, NcState
 
Automated Software Engineering
Automated Software EngineeringAutomated Software Engineering
Automated Software EngineeringCS, NcState
 
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)CS, NcState
 
Tim Menzies, directions in Data Science
Tim Menzies, directions in Data ScienceTim Menzies, directions in Data Science
Tim Menzies, directions in Data ScienceCS, NcState
 
Dagstuhl14 intro-v1
Dagstuhl14 intro-v1Dagstuhl14 intro-v1
Dagstuhl14 intro-v1CS, NcState
 
The Art and Science of Analyzing Software Data
The Art and Science of Analyzing Software DataThe Art and Science of Analyzing Software Data
The Art and Science of Analyzing Software DataCS, NcState
 

Mais de CS, NcState (20)

Talks2015 novdec
Talks2015 novdecTalks2015 novdec
Talks2015 novdec
 
Future se oct15
Future se oct15Future se oct15
Future se oct15
 
GALE: Geometric active learning for Search-Based Software Engineering
GALE: Geometric active learning for Search-Based Software EngineeringGALE: Geometric active learning for Search-Based Software Engineering
GALE: Geometric active learning for Search-Based Software Engineering
 
Big Data: the weakest link
Big Data: the weakest linkBig Data: the weakest link
Big Data: the weakest link
 
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
Three Laws of Trusted Data Sharing:(Building a Better Business Case for Dat...Three Laws of Trusted Data Sharing:(Building a Better Business Case for Dat...
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
 
Lexisnexis june9
Lexisnexis june9Lexisnexis june9
Lexisnexis june9
 
Welcome to ICSE NIER’15 (new ideas and emerging results).
Welcome to ICSE NIER’15 (new ideas and emerging results).Welcome to ICSE NIER’15 (new ideas and emerging results).
Welcome to ICSE NIER’15 (new ideas and emerging results).
 
Icse15 Tech-briefing Data Science
Icse15 Tech-briefing Data ScienceIcse15 Tech-briefing Data Science
Icse15 Tech-briefing Data Science
 
Kits to Find the Bits that Fits
Kits to Find  the Bits that Fits Kits to Find  the Bits that Fits
Kits to Find the Bits that Fits
 
Ai4se lab template
Ai4se lab templateAi4se lab template
Ai4se lab template
 
Automated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSUAutomated Software Enging, Fall 2015, NCSU
Automated Software Enging, Fall 2015, NCSU
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
172529main ken and_tim_software_assurance_research_at_west_virginia
172529main ken and_tim_software_assurance_research_at_west_virginia172529main ken and_tim_software_assurance_research_at_west_virginia
172529main ken and_tim_software_assurance_research_at_west_virginia
 
Automated Software Engineering
Automated Software EngineeringAutomated Software Engineering
Automated Software Engineering
 
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)Next Generation “Treatment Learning” (finding the diamonds in the dust)
Next Generation “Treatment Learning” (finding the diamonds in the dust)
 
Tim Menzies, directions in Data Science
Tim Menzies, directions in Data ScienceTim Menzies, directions in Data Science
Tim Menzies, directions in Data Science
 
Goldrush
GoldrushGoldrush
Goldrush
 
Dagstuhl14 intro-v1
Dagstuhl14 intro-v1Dagstuhl14 intro-v1
Dagstuhl14 intro-v1
 
Know thy tools
Know thy toolsKnow thy tools
Know thy tools
 
The Art and Science of Analyzing Software Data
The Art and Science of Analyzing Software DataThe Art and Science of Analyzing Software Data
The Art and Science of Analyzing Software Data
 

Último

Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Último (20)

The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Ase2013