SlideShare a Scribd company logo
1 of 26
Download to read offline
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Outline

Motivations
Goal
Empirical Study
Results
Other Findings
Conclusion

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

1 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Motivations

What are Antipatterns?
Identify poor solutions to recurring design problems[Brown et al.]
Some causes
Time-market pressure
Insufficient knowledge and or experience
Misapplication of some design patterns

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

2 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Motivations
Impact of Antipatterns...

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

3 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Motivations
What about Testability and Testing?

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

4 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Goal

Study the impact of antipatterns on class testability

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

5 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

Class Testability Measure
What is Testability?
Degree to which a system or component facilitates the
establishment of test criteria and performance of tests to
determine whether those criteria have been met [IEEE
Glossary]
Testing effort [Bache et al.]
How to Measure Testability?
Metric-Based approaches [Bruntink et al.]
number of test cases required to satisfy a given coverage
criterion [Bache et al.]
A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

6 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

MaDUM

What is it?
Unit testing technique for object oriented programs [Bashir et
al.]
Based on data slices
Core idea: The correctness of a class is equivalent to the
correctness of all its slices
Focus on the test of methods interactions

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

7 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

MaDUM

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

8 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

MaDUM

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

9 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

Why MaDUM?

Why MaDUM?
Specific to OO programs
Not require specific design documentation
Possibility to compute the number of required test cases
Upper-bound for testing cost

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

10 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

Objects

4 systems: Ant, ArgoUML, Checkstyle & JFreechart
Systems belong to different application domains, have
bug-fixing data available and have been used in previous
studies [Abbes et al.], [Bruntink et al.]

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

11 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

Subjects

13 antipatterns
Studied in previous studies [Khomh et al.], [Abbes et al.],
Detection tool: Decor [Moha et al.]

Name (Abbr)
Antipattern classes
No Antipattern (None)

Ant
452
297

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

ArgoUML
901
376

CheckStyle
161
99

JFreeChart
245
233

March 07th, 2013

12 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

RQ1: Assess AP class impact on testing effort?

How large is the MaDUM test suite for classes participating in APs
compared to that of other classes?

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

13 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

RQ2: Which APs are the most expensive

How does the size of the MaDUM test suite vary among classes
participating in different kinds of APs?

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

14 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Class Testability Measure
MaDUM
Objects
Subjects
RQ1: Assess AP class impact on testing effort?
RQ2: Which APs are the most expensive
RQ3: Cost-effectiveness of APs testing

RQ3: Cost-effectiveness of APs testing

What is the potential cost-benefit achieved when focusing testing
on APs, as opposed to other classes?

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

15 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

RQ1
RQ2
RQ3

Results

Results...

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

16 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

RQ1
RQ2
RQ3

RQ1: How large is the MaDUM test suite for classes
participating in APs compared to that of other classes?
q
q
q

q

q
q

q

q
q
q
q
q
q

q

q
q
q
q

q
q
q

q
q

q
q
q
q
q

q
q
q
q
q
q
q
q

q
q
q
q
q
q
q
q
q
q
q

q
q
q
q
q
q

q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q
q

q

q
q

q

q
q
q
q
q
q
q
q
q

q
q
q
q

q

q
q
q
q
q
q
q
q
q

q
q
q
q
q
q

0

# of Test Cases (<=100)
20
40
60
80

q

Classes
System

AP

NAP
Ant

AP
NAP
ArgoUML

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

AP
NAP
Checkstyle

AP
NAP
JFreeChart

March 07th, 2013

17 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

RQ1
RQ2
RQ3

RQ1: How large is the MaDUM test suite for classes
participating in APs compared to that of other classes?

System
Ant
ArgoUML
CheckStyle
JFreeChart

Mean TCs AP
18
10
9
26

Mean TCs NAP
9
3
6
13

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

p-Value
< 0.01
< 0.01
= 0.01
< 0.01

Cliff’s d
0.23 (Small)
0.35 (Medium)
NA
0.22 (Small)

March 07th, 2013

18 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

RQ1
RQ2
RQ3

100

RQ2: How does the size of the MaDUM test suite vary
among classes participating in different kinds of APs?

80

q
q

q
q

q
q

q

q
q

q

q

q
q

q

q
q
q
q
q
q

60

q
q
q
q

q
q
q
q
q
q
q
q
q
q
q

q
q

20

40

q

q
q
q
q
q
q
q

q

0

# of Test Cases (<=100)

q

AS BCSBA B CDSBP CC

LzC

LM

LPL

MC

RPB

SC

SG

SAK NONE

Kind of Antipattern
A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

19 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

RQ1
RQ2
RQ3

100

RQ2: How does the size of the MaDUM test suite vary
among classes participating in different kinds of APs?

80
60

q

q

40

q

q

20

# of Test Cases (<=100)

q

q

q

q
q
q
q
q
q
q

q
q
q
q
q
q

0

q

AS BCSBA B CDSBP CC

LzC

LM

LPL

MC

RPB

SC

SG

SAK NONE

Kind of Antipattern
A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

20 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

RQ1
RQ2
RQ3

80 100
60
40
20
0

Defects in tested classes (cum.)

RQ3: What is the potential cost-benefit achieved when
focusing testing on APs, as opposed to other classes?

0

1000

2000

3000

4000

5000

6000

7000

# of T
est Case (cum.)

It is cost-effective to analyze/test APs classes with a higher priority
than other classes

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

21 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Other Findings: Refactoring for Reducing Testing Cost

Effect of traditional refactoring on testing cost?

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

22 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Other Findings: Refactoring for Reducing Testing Cost

Before
refactoring
Class (system)
Type TRS
TokenFilter (Ant)
CDSBP
5
PropPanel (ArgoUML)
Blob
5
BooleanExpressionComplexityCheck
LPL
6
(Checkstyle)
AxisState (JFreeChart)
NAP
5
DynamicTimeSeriesCollection Blob
4
(JFreeChart)

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

After
refactoring
TCs
TRS
263
2
271
3

TCs
27
43

732

5

132

248
208

1
2

11
122

March 07th, 2013

23 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Conclusion

Findings
Most of APs classes are expensive for unit testing
APs classes with excess of responsibilities require more testing
effort than other
Prioritize the testing of APs classes can be more cost-effective
Specific refactoring can help to reduce testing cost

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

24 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Conclusion

Future Work
Study more systems
Investigate the symptoms that make APs classes more
expensive
Study the impact of APs on testing effort from other aspects
Investigate specific refactoring for testability

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

25 / 26
Motivations
Goal
Empirical Study
Results
Other Findings: Refactoring for Reducing Testing Cost
Conclusion

Thank you very much for your attention!

A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc
e
e e

March 07th, 2013

26 / 26

More Related Content

Similar to 130419 aminata sabane - a study of the impact of antipatterns on class testability

Innovative sample size methods for adaptive clinical trials webinar web ver...
Innovative sample size methods for adaptive clinical trials webinar   web ver...Innovative sample size methods for adaptive clinical trials webinar   web ver...
Innovative sample size methods for adaptive clinical trials webinar web ver...nQuery
 
Test First Model for Application in the Academic Setting
Test First Model for Application in the Academic SettingTest First Model for Application in the Academic Setting
Test First Model for Application in the Academic SettingjournalBEEI
 
H047054064
H047054064H047054064
H047054064inventy
 
using-qualitative-metasummary-to-synthesize-empirical-findings-in-literature-...
using-qualitative-metasummary-to-synthesize-empirical-findings-in-literature-...using-qualitative-metasummary-to-synthesize-empirical-findings-in-literature-...
using-qualitative-metasummary-to-synthesize-empirical-findings-in-literature-...Danilo Monteiro
 
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...ESEM 2014
 
pilot testing of questionnaire
 pilot testing of questionnaire pilot testing of questionnaire
pilot testing of questionnaireSarojKumarBanjara
 
Power and sample size calculations for survival analysis webinar Slides
Power and sample size calculations for survival analysis webinar SlidesPower and sample size calculations for survival analysis webinar Slides
Power and sample size calculations for survival analysis webinar SlidesnQuery
 
Meta analysis presentation-sim vs. no sim
Meta analysis presentation-sim vs. no simMeta analysis presentation-sim vs. no sim
Meta analysis presentation-sim vs. no simJ'ette Novakovich
 
A study on the efficiency of a test analysis method utilizing test-categories...
A study on the efficiency of a test analysis method utilizing test-categories...A study on the efficiency of a test analysis method utilizing test-categories...
A study on the efficiency of a test analysis method utilizing test-categories...Tsuyoshi Yumoto
 
2020 trends in biostatistics what you should know about study design - slid...
2020 trends in biostatistics   what you should know about study design - slid...2020 trends in biostatistics   what you should know about study design - slid...
2020 trends in biostatistics what you should know about study design - slid...nQuery
 
Effectiveness of test case
Effectiveness of test caseEffectiveness of test case
Effectiveness of test caseijseajournal
 
NES Pharmacy, Critical Appraisal 2011
NES Pharmacy, Critical Appraisal 2011NES Pharmacy, Critical Appraisal 2011
NES Pharmacy, Critical Appraisal 2011NES
 

Similar to 130419 aminata sabane - a study of the impact of antipatterns on class testability (20)

Csmr13a.ppt
Csmr13a.pptCsmr13a.ppt
Csmr13a.ppt
 
Innovative sample size methods for adaptive clinical trials webinar web ver...
Innovative sample size methods for adaptive clinical trials webinar   web ver...Innovative sample size methods for adaptive clinical trials webinar   web ver...
Innovative sample size methods for adaptive clinical trials webinar web ver...
 
Test First Model for Application in the Academic Setting
Test First Model for Application in the Academic SettingTest First Model for Application in the Academic Setting
Test First Model for Application in the Academic Setting
 
Methodology
MethodologyMethodology
Methodology
 
H047054064
H047054064H047054064
H047054064
 
om
omom
om
 
om
omom
om
 
Us
UsUs
Us
 
using-qualitative-metasummary-to-synthesize-empirical-findings-in-literature-...
using-qualitative-metasummary-to-synthesize-empirical-findings-in-literature-...using-qualitative-metasummary-to-synthesize-empirical-findings-in-literature-...
using-qualitative-metasummary-to-synthesize-empirical-findings-in-literature-...
 
C41041120
C41041120C41041120
C41041120
 
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
201 - Using Qualitative Metasummary to Synthesize Empirical Findings in Liter...
 
pilot testing of questionnaire
 pilot testing of questionnaire pilot testing of questionnaire
pilot testing of questionnaire
 
Pilot study
Pilot studyPilot study
Pilot study
 
Power and sample size calculations for survival analysis webinar Slides
Power and sample size calculations for survival analysis webinar SlidesPower and sample size calculations for survival analysis webinar Slides
Power and sample size calculations for survival analysis webinar Slides
 
Statistical Power
Statistical PowerStatistical Power
Statistical Power
 
Meta analysis presentation-sim vs. no sim
Meta analysis presentation-sim vs. no simMeta analysis presentation-sim vs. no sim
Meta analysis presentation-sim vs. no sim
 
A study on the efficiency of a test analysis method utilizing test-categories...
A study on the efficiency of a test analysis method utilizing test-categories...A study on the efficiency of a test analysis method utilizing test-categories...
A study on the efficiency of a test analysis method utilizing test-categories...
 
2020 trends in biostatistics what you should know about study design - slid...
2020 trends in biostatistics   what you should know about study design - slid...2020 trends in biostatistics   what you should know about study design - slid...
2020 trends in biostatistics what you should know about study design - slid...
 
Effectiveness of test case
Effectiveness of test caseEffectiveness of test case
Effectiveness of test case
 
NES Pharmacy, Critical Appraisal 2011
NES Pharmacy, Critical Appraisal 2011NES Pharmacy, Critical Appraisal 2011
NES Pharmacy, Critical Appraisal 2011
 

More from Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
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
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 

130419 aminata sabane - a study of the impact of antipatterns on class testability

  • 1. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Outline Motivations Goal Empirical Study Results Other Findings Conclusion A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 1 / 26
  • 2. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Motivations What are Antipatterns? Identify poor solutions to recurring design problems[Brown et al.] Some causes Time-market pressure Insufficient knowledge and or experience Misapplication of some design patterns A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 2 / 26
  • 3. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Motivations Impact of Antipatterns... A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 3 / 26
  • 4. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Motivations What about Testability and Testing? A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 4 / 26
  • 5. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Goal Study the impact of antipatterns on class testability A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 5 / 26
  • 6. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing Class Testability Measure What is Testability? Degree to which a system or component facilitates the establishment of test criteria and performance of tests to determine whether those criteria have been met [IEEE Glossary] Testing effort [Bache et al.] How to Measure Testability? Metric-Based approaches [Bruntink et al.] number of test cases required to satisfy a given coverage criterion [Bache et al.] A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 6 / 26
  • 7. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing MaDUM What is it? Unit testing technique for object oriented programs [Bashir et al.] Based on data slices Core idea: The correctness of a class is equivalent to the correctness of all its slices Focus on the test of methods interactions A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 7 / 26
  • 8. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing MaDUM A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 8 / 26
  • 9. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing MaDUM A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 9 / 26
  • 10. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing Why MaDUM? Why MaDUM? Specific to OO programs Not require specific design documentation Possibility to compute the number of required test cases Upper-bound for testing cost A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 10 / 26
  • 11. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing Objects 4 systems: Ant, ArgoUML, Checkstyle & JFreechart Systems belong to different application domains, have bug-fixing data available and have been used in previous studies [Abbes et al.], [Bruntink et al.] A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 11 / 26
  • 12. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing Subjects 13 antipatterns Studied in previous studies [Khomh et al.], [Abbes et al.], Detection tool: Decor [Moha et al.] Name (Abbr) Antipattern classes No Antipattern (None) Ant 452 297 A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e ArgoUML 901 376 CheckStyle 161 99 JFreeChart 245 233 March 07th, 2013 12 / 26
  • 13. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing RQ1: Assess AP class impact on testing effort? How large is the MaDUM test suite for classes participating in APs compared to that of other classes? A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 13 / 26
  • 14. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing RQ2: Which APs are the most expensive How does the size of the MaDUM test suite vary among classes participating in different kinds of APs? A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 14 / 26
  • 15. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Class Testability Measure MaDUM Objects Subjects RQ1: Assess AP class impact on testing effort? RQ2: Which APs are the most expensive RQ3: Cost-effectiveness of APs testing RQ3: Cost-effectiveness of APs testing What is the potential cost-benefit achieved when focusing testing on APs, as opposed to other classes? A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 15 / 26
  • 16. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion RQ1 RQ2 RQ3 Results Results... A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 16 / 26
  • 17. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion RQ1 RQ2 RQ3 RQ1: How large is the MaDUM test suite for classes participating in APs compared to that of other classes? q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q 0 # of Test Cases (<=100) 20 40 60 80 q Classes System AP NAP Ant AP NAP ArgoUML A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e AP NAP Checkstyle AP NAP JFreeChart March 07th, 2013 17 / 26
  • 18. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion RQ1 RQ2 RQ3 RQ1: How large is the MaDUM test suite for classes participating in APs compared to that of other classes? System Ant ArgoUML CheckStyle JFreeChart Mean TCs AP 18 10 9 26 Mean TCs NAP 9 3 6 13 A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e p-Value < 0.01 < 0.01 = 0.01 < 0.01 Cliff’s d 0.23 (Small) 0.35 (Medium) NA 0.22 (Small) March 07th, 2013 18 / 26
  • 19. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion RQ1 RQ2 RQ3 100 RQ2: How does the size of the MaDUM test suite vary among classes participating in different kinds of APs? 80 q q q q q q q q q q q q q q q q q q q q 60 q q q q q q q q q q q q q q q q q 20 40 q q q q q q q q q 0 # of Test Cases (<=100) q AS BCSBA B CDSBP CC LzC LM LPL MC RPB SC SG SAK NONE Kind of Antipattern A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 19 / 26
  • 20. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion RQ1 RQ2 RQ3 100 RQ2: How does the size of the MaDUM test suite vary among classes participating in different kinds of APs? 80 60 q q 40 q q 20 # of Test Cases (<=100) q q q q q q q q q q q q q q q q 0 q AS BCSBA B CDSBP CC LzC LM LPL MC RPB SC SG SAK NONE Kind of Antipattern A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 20 / 26
  • 21. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion RQ1 RQ2 RQ3 80 100 60 40 20 0 Defects in tested classes (cum.) RQ3: What is the potential cost-benefit achieved when focusing testing on APs, as opposed to other classes? 0 1000 2000 3000 4000 5000 6000 7000 # of T est Case (cum.) It is cost-effective to analyze/test APs classes with a higher priority than other classes A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 21 / 26
  • 22. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Other Findings: Refactoring for Reducing Testing Cost Effect of traditional refactoring on testing cost? A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 22 / 26
  • 23. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Other Findings: Refactoring for Reducing Testing Cost Before refactoring Class (system) Type TRS TokenFilter (Ant) CDSBP 5 PropPanel (ArgoUML) Blob 5 BooleanExpressionComplexityCheck LPL 6 (Checkstyle) AxisState (JFreeChart) NAP 5 DynamicTimeSeriesCollection Blob 4 (JFreeChart) A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e After refactoring TCs TRS 263 2 271 3 TCs 27 43 732 5 132 248 208 1 2 11 122 March 07th, 2013 23 / 26
  • 24. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Conclusion Findings Most of APs classes are expensive for unit testing APs classes with excess of responsibilities require more testing effort than other Prioritize the testing of APs classes can be more cost-effective Specific refactoring can help to reduce testing cost A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 24 / 26
  • 25. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Conclusion Future Work Study more systems Investigate the symptoms that make APs classes more expensive Study the impact of APs on testing effort from other aspects Investigate specific refactoring for testability A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 25 / 26
  • 26. Motivations Goal Empirical Study Results Other Findings: Refactoring for Reducing Testing Cost Conclusion Thank you very much for your attention! A. Saban´, M. Di Penta, G. Antoniol, Y-G. Gu´h´neuc e e e March 07th, 2013 26 / 26