SlideShare uma empresa Scribd logo
1 de 34
Jaguaraci Silva
Today´
Today´s schedule:
1 - SWE Empirical Studies (Brief Introduction)
2 – Analyzing the Study using a GQM Methodology
3 – Discuss its Implications for SWE
experimentation
4 - Conclusion
SWE Empirical Studies (Very Brief Introduction)
SWE Empirical Studies (Very Brief Introduction)
•Scientific method. Scientists develop a theory to explain a
phenomenon; they propose a hypothesis and then test alternative
variations of the hypothesis. As they do so, they collect data to verify or
refute the claims of the hypothesis.
•Engineering method. Engineers develop and test a solution to a
hypothesis. Based upon the results of the test, they improve the solution
until it requires no further improvement.
•Empirical method. A statistical method is proposed as a means to
validate a given hypothesis. Unlike the scientific method, there may not
be a formal model or theory describing the hypothesis. Data is collected
to verify the hypothesis.
•Analytical method. A formal theory is developed, and results derived
from that theory can be compared with empirical observations.
SWE Empirical Studies (Very Brief Introduction)
Validation Methods
SWE Empirical Studies (Very Brief Introduction)
Validation Methods -> Evaluation
SWE Empirical Studies (Very Brief Introduction)
GQM Methodology
From this point, we will analyze the paper.

Any questions?
Project Plan

To list the inspected papers and tools together
with statistics on their experiments;

To explicit how many out of the considered
classes are container classes, if this was clearly
specified.

To list how the evaluation classes were selected;
Project
Plan
Defining the Objectives

Compare the results in terms of the achieved
branch coverage;

I/O interaction with the environment, multi-
threading, etc.
What’s branch coverage?
Defining the Objectives

Test generation for such code is unsafe as
the tested code might interact with its
environment in undesired ways;

To find out how many unsafe operations are
attempted during test generation;

To discuss the potential implications of the
choice of case studies;
Questions
RQ1: What is the probability distribution of
achievable branch coverage on open source
software?
RQ2: How often do classes execute unsafe
operations?
RQ3: What are the consequences of
choosing a small case study in a biased
way?
Collecting the Data

Out of 44 evaluations we considered in
our literature survey, 29 selected their
case study programs from open source
programs;

In total, there are 8784 classes and
291,639 bytecode branches reported by
EVOSUITE in this case study;
Collecting the Data

We based our selection on the dataset
of all projects tagged as being written
in the Java programming language;

We therefore had to consider 321
projects until we had a set of 100
projects in binary format;
Collecting the Data
Measurement of the Metrics

The branch distance estimates how close a branch
is to evaluating to true or false for a particular run;

For each branch we consider the minimum branch
distance over all test cases of a test suite;

The overall fitness of a test suite is the sum of
these minimal values, such that an individual with
100% branch coverage has fitness 0;
Achieving the objectives

As context of our experiment we chose the
EVOSUITE     tool,   which   automatically
generates test suites for Java classes,
targeting branch coverage;

EVOSUITE uses genetic algorithm evolves
candidate individuals using operators (e.g.,
selection, crossover and mutation);
Achieving the objectives

Mutation of test cases may add,
remove, or change the method calls in
a sequence;

Fitness is calculated with respect to
branch coverage, using a calculation
based on the well-established branch
distance measurement.
Analyzing the Answers
Analyzing the Answers
Analyzing the Answers
Analyzing the Answers
Analyzing the Answers

RQ1 - This shows that there is a large number of
classes which can easily be fully covered by EVOSUITE
(coverage 90%-100%), and also a large number of
classes with problems (coverage 0%-10%), while the
rest is evenly distributed across the 10%-90% range.

RQ2 - Consequently, interactions with the
environment are a prime source of problems in
achieving coverage. It is striking that 71% of all
classes lead to some kind of FilePermission.
Analyzing the Answers

RQ3 - Our empirical analysis has shown that 90.7%
of classes may lead to interactions with their
environment. When there are no interactions with
the environment EVOSUITE can achieve an average
coverage as high as 90%;
Analyzing the Answers
To understand the problems in test
generation better, we manually inspected:
10 classes that had low coverage but no
permission problems
10 classes that had file permission problems
10 classes that had network problems
10 classes with runtime permission problems.
Analyzing the Answers
Manual Inspection - 10 classes that had low
coverage but no permission problems, we
identified the following main reasons for low
coverage:
1) Complex string handling;
2) Java generics and dynamic type handling
3) branches in exception handling code;
The other problems were linking up with the
environment for testing classes as the major
technical obstacle;
Threats to Validity
Our study was focused on obtaining insights on the
challenges of applying test generation tools in
realistic settings, our research questions did not
deal with comparisons of algorithms, and so
statistical tests were not required;

A possible threat to the construct validity is how we
evaluated whether there are unsafe operations
when testing a class.
Threats to Validity
if we encountered high kurtosis (is a measure of
the "heaviness" of the tails of a distribution) in the
number of classes per project (63) and branches
per class (429), median values are not particularly
affected by extreme outliers;

e.g.: A normal distribution: 66% within 1std, 95%
within 2 std, and 99% within 3 std, has a kurtosis
of 0. When the sample kurtosis deviates > 0 it
means the tails are "heavier”.
Threats to Validity

To reduce such threat to validity, we used
bootstrapping (is a method for assigning measures
of accuracy to sample estimates) to create
confidence intervals for some statistics data;

Our results might not extend to all open source
projects, as other repositories (e.g., Google Code)
might contain software with statistically different
distribution properties (e.g., number of classes per
project, difficulty of the software from the point of
view of test data generation).
Conclusions

23 projects for which EVOSUITE achieves on average a
coverage higher than 80%. If we wanted to boast and
promote our research prototype EVOSUITE, we could
have carried out an empirical analysis with only those
23 projects;

That would have resulted in a variegated and large
empirical analysis. In other words, any case study, in
which the selection of artifacts is not justified and not
done in systematic way, tells very little about the
actual performance of the analyzed techniques;
Conclusions
As most of the research body in the software testing
literature seems to ignore these issues our empirical
analysis is a valuable source of statistically valid
information to understand which are the real
problems that need to be solved by the software
testing research community;

With this paper, we challenge the research
community to develop novel testing techniques to
achieve at least 80% of bytecode branch coverage on
this SF100 corpus, because it is a valid representative
of open source projects, and our EVOSUITE prototype
only achieved 48% coverage on average;
Thank you very much!.
               much!

          Any questions?
              questions?

Mais conteúdo relacionado

Mais procurados

Seminar Proposal Tugas Akhir - SPK Pemilihan tema Tugas Akhir menggunakan Ana...
Seminar Proposal Tugas Akhir - SPK Pemilihan tema Tugas Akhir menggunakan Ana...Seminar Proposal Tugas Akhir - SPK Pemilihan tema Tugas Akhir menggunakan Ana...
Seminar Proposal Tugas Akhir - SPK Pemilihan tema Tugas Akhir menggunakan Ana...Dila Nurlaila
 
taghelper-final.doc
taghelper-final.doctaghelper-final.doc
taghelper-final.docbutest
 
IEEE 2015 Java Projects
IEEE 2015 Java ProjectsIEEE 2015 Java Projects
IEEE 2015 Java ProjectsVijay Karan
 
Unsupervised Distance Based Detection of Outliers by using Anti-hubs
Unsupervised Distance Based Detection of Outliers by using Anti-hubsUnsupervised Distance Based Detection of Outliers by using Anti-hubs
Unsupervised Distance Based Detection of Outliers by using Anti-hubsIRJET Journal
 
Invited talk @Aberdeen, '07: Modelling and computing the quality of informati...
Invited talk @Aberdeen, '07: Modelling and computing the quality of informati...Invited talk @Aberdeen, '07: Modelling and computing the quality of informati...
Invited talk @Aberdeen, '07: Modelling and computing the quality of informati...Paolo Missier
 
Computer Adaptive Test (cat)
Computer Adaptive Test (cat)Computer Adaptive Test (cat)
Computer Adaptive Test (cat)Tabraiz Bukhari
 
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...Twitter Inc.
 
IEEE 2015 Java Projects
IEEE 2015 Java ProjectsIEEE 2015 Java Projects
IEEE 2015 Java ProjectsVijay Karan
 
Case Study Research in Software Engineering
Case Study Research in Software EngineeringCase Study Research in Software Engineering
Case Study Research in Software Engineeringalessio_ferrari
 
Btec National Unit 18 Dna Technology
Btec National Unit 18 Dna TechnologyBtec National Unit 18 Dna Technology
Btec National Unit 18 Dna TechnologyTeresa Briercliffe
 
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
 
Btec National Unit 18 Genetic Engineering
Btec National Unit 18 Genetic EngineeringBtec National Unit 18 Genetic Engineering
Btec National Unit 18 Genetic EngineeringTeresa Briercliffe
 
Evidence-based Semantic Web Just a Dream or the Way to Go?
Evidence-based Semantic WebJust a Dream or the Way to Go?Evidence-based Semantic WebJust a Dream or the Way to Go?
Evidence-based Semantic Web Just a Dream or the Way to Go?Dragan Gasevic
 
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIPISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIPISCRAM Events
 
Maturing software engineering knowledge through classifications
Maturing software engineering knowledge through classificationsMaturing software engineering knowledge through classifications
Maturing software engineering knowledge through classificationsimmortalchhetri
 
Developing an Artificial Immune Model for Cash Fraud Detection
Developing an Artificial Immune Model for Cash Fraud Detection   Developing an Artificial Immune Model for Cash Fraud Detection
Developing an Artificial Immune Model for Cash Fraud Detection khawla Osama
 
Expanding our Testing Horizons
Expanding our Testing HorizonsExpanding our Testing Horizons
Expanding our Testing HorizonsMark Micallef
 

Mais procurados (20)

Seminar Proposal Tugas Akhir - SPK Pemilihan tema Tugas Akhir menggunakan Ana...
Seminar Proposal Tugas Akhir - SPK Pemilihan tema Tugas Akhir menggunakan Ana...Seminar Proposal Tugas Akhir - SPK Pemilihan tema Tugas Akhir menggunakan Ana...
Seminar Proposal Tugas Akhir - SPK Pemilihan tema Tugas Akhir menggunakan Ana...
 
taghelper-final.doc
taghelper-final.doctaghelper-final.doc
taghelper-final.doc
 
Andre Norfleet Resume
Andre Norfleet ResumeAndre Norfleet Resume
Andre Norfleet Resume
 
IEEE 2015 Java Projects
IEEE 2015 Java ProjectsIEEE 2015 Java Projects
IEEE 2015 Java Projects
 
Unsupervised Distance Based Detection of Outliers by using Anti-hubs
Unsupervised Distance Based Detection of Outliers by using Anti-hubsUnsupervised Distance Based Detection of Outliers by using Anti-hubs
Unsupervised Distance Based Detection of Outliers by using Anti-hubs
 
Invited talk @Aberdeen, '07: Modelling and computing the quality of informati...
Invited talk @Aberdeen, '07: Modelling and computing the quality of informati...Invited talk @Aberdeen, '07: Modelling and computing the quality of informati...
Invited talk @Aberdeen, '07: Modelling and computing the quality of informati...
 
Computer Adaptive Test (cat)
Computer Adaptive Test (cat)Computer Adaptive Test (cat)
Computer Adaptive Test (cat)
 
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...
Towards Privacy-Preserving Evaluation for Information Retrieval Models over I...
 
IEEE 2015 Java Projects
IEEE 2015 Java ProjectsIEEE 2015 Java Projects
IEEE 2015 Java Projects
 
Case Study Research in Software Engineering
Case Study Research in Software EngineeringCase Study Research in Software Engineering
Case Study Research in Software Engineering
 
Btec National Unit 18 Dna Technology
Btec National Unit 18 Dna TechnologyBtec National Unit 18 Dna Technology
Btec National Unit 18 Dna Technology
 
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...
 
Btec National Unit 18 Genetic Engineering
Btec National Unit 18 Genetic EngineeringBtec National Unit 18 Genetic Engineering
Btec National Unit 18 Genetic Engineering
 
Evidence-based Semantic Web Just a Dream or the Way to Go?
Evidence-based Semantic WebJust a Dream or the Way to Go?Evidence-based Semantic WebJust a Dream or the Way to Go?
Evidence-based Semantic Web Just a Dream or the Way to Go?
 
Document
DocumentDocument
Document
 
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIPISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
ISCRAM 2013: A CBR Detection Framework Using Fuzzy Logic- WIP
 
Maturing software engineering knowledge through classifications
Maturing software engineering knowledge through classificationsMaturing software engineering knowledge through classifications
Maturing software engineering knowledge through classifications
 
Developing an Artificial Immune Model for Cash Fraud Detection
Developing an Artificial Immune Model for Cash Fraud Detection   Developing an Artificial Immune Model for Cash Fraud Detection
Developing an Artificial Immune Model for Cash Fraud Detection
 
Expanding our Testing Horizons
Expanding our Testing HorizonsExpanding our Testing Horizons
Expanding our Testing Horizons
 
My
MyMy
My
 

Destaque

Infraestrutura portos-mobilidade
Infraestrutura portos-mobilidadeInfraestrutura portos-mobilidade
Infraestrutura portos-mobilidadePortal iBahia
 
Anteprojeto da mobilidade urbana
Anteprojeto da mobilidade urbanaAnteprojeto da mobilidade urbana
Anteprojeto da mobilidade urbanaIacyra Ramos
 
Zona Azul de São Paulo - História e Avaliação
Zona Azul de São Paulo - História e AvaliaçãoZona Azul de São Paulo - História e Avaliação
Zona Azul de São Paulo - História e AvaliaçãoChico Macena
 
Mobilidade Urbana: Uma questão de planeamento ou de mentalidade? - Caso de e...
Mobilidade  Urbana: Uma questão de planeamento ou de mentalidade? - Caso de e...Mobilidade  Urbana: Uma questão de planeamento ou de mentalidade? - Caso de e...
Mobilidade Urbana: Uma questão de planeamento ou de mentalidade? - Caso de e...Igor Boieiro
 
Wri embarq brasil passo a passo plano de mobilidade
Wri embarq brasil   passo a passo plano de mobilidadeWri embarq brasil   passo a passo plano de mobilidade
Wri embarq brasil passo a passo plano de mobilidadeCampinas Que Queremos
 
Mobilidade Urbana por Meio de Vias Inteligentes
Mobilidade Urbana por Meio de Vias InteligentesMobilidade Urbana por Meio de Vias Inteligentes
Mobilidade Urbana por Meio de Vias InteligentesJaguaraci Silva
 
Mobilidade urbana [reparado]
Mobilidade urbana [reparado]Mobilidade urbana [reparado]
Mobilidade urbana [reparado]Blendon Mendonça
 
Apresentação mobilidade urbana e o planejamento das cidades vitória - 2011 ...
Apresentação mobilidade urbana e o planejamento das cidades   vitória - 2011 ...Apresentação mobilidade urbana e o planejamento das cidades   vitória - 2011 ...
Apresentação mobilidade urbana e o planejamento das cidades vitória - 2011 ...LCA promo
 
Arquitetura colonial
Arquitetura colonialArquitetura colonial
Arquitetura colonialliskjubo
 
7. evolução urbana no brasil
7. evolução urbana no brasil7. evolução urbana no brasil
7. evolução urbana no brasilAna Cunha
 

Destaque (20)

Aula 6 pu
Aula 6   puAula 6   pu
Aula 6 pu
 
Etvf mobile 2
Etvf mobile 2Etvf mobile 2
Etvf mobile 2
 
Infraestrutura portos-mobilidade
Infraestrutura portos-mobilidadeInfraestrutura portos-mobilidade
Infraestrutura portos-mobilidade
 
Anteprojeto da mobilidade urbana
Anteprojeto da mobilidade urbanaAnteprojeto da mobilidade urbana
Anteprojeto da mobilidade urbana
 
Zona Azul de São Paulo - História e Avaliação
Zona Azul de São Paulo - História e AvaliaçãoZona Azul de São Paulo - História e Avaliação
Zona Azul de São Paulo - História e Avaliação
 
Mobilidade Urbana em Salvador
Mobilidade Urbana em SalvadorMobilidade Urbana em Salvador
Mobilidade Urbana em Salvador
 
Política Nacional de Mobilidade Urbana - Desafios e Oportunidades
Política Nacional de Mobilidade Urbana - Desafios e OportunidadesPolítica Nacional de Mobilidade Urbana - Desafios e Oportunidades
Política Nacional de Mobilidade Urbana - Desafios e Oportunidades
 
Lições sobre Mobilidade - O que é Mobilidade Urbana?
Lições sobre Mobilidade - O que é Mobilidade Urbana?Lições sobre Mobilidade - O que é Mobilidade Urbana?
Lições sobre Mobilidade - O que é Mobilidade Urbana?
 
Mobilidade Urbana: Uma questão de planeamento ou de mentalidade? - Caso de e...
Mobilidade  Urbana: Uma questão de planeamento ou de mentalidade? - Caso de e...Mobilidade  Urbana: Uma questão de planeamento ou de mentalidade? - Caso de e...
Mobilidade Urbana: Uma questão de planeamento ou de mentalidade? - Caso de e...
 
Wri embarq brasil passo a passo plano de mobilidade
Wri embarq brasil   passo a passo plano de mobilidadeWri embarq brasil   passo a passo plano de mobilidade
Wri embarq brasil passo a passo plano de mobilidade
 
Mobilidade Urbana por Meio de Vias Inteligentes
Mobilidade Urbana por Meio de Vias InteligentesMobilidade Urbana por Meio de Vias Inteligentes
Mobilidade Urbana por Meio de Vias Inteligentes
 
Mobilidade urbana [reparado]
Mobilidade urbana [reparado]Mobilidade urbana [reparado]
Mobilidade urbana [reparado]
 
Apresentação mobilidade urbana e o planejamento das cidades vitória - 2011 ...
Apresentação mobilidade urbana e o planejamento das cidades   vitória - 2011 ...Apresentação mobilidade urbana e o planejamento das cidades   vitória - 2011 ...
Apresentação mobilidade urbana e o planejamento das cidades vitória - 2011 ...
 
Modelos slides
Modelos slidesModelos slides
Modelos slides
 
Arquitetura colonial
Arquitetura colonialArquitetura colonial
Arquitetura colonial
 
7. evolução urbana no brasil
7. evolução urbana no brasil7. evolução urbana no brasil
7. evolução urbana no brasil
 
Planejamento urbano
Planejamento urbanoPlanejamento urbano
Planejamento urbano
 
Plano de Mobilidade Urbana
Plano de Mobilidade UrbanaPlano de Mobilidade Urbana
Plano de Mobilidade Urbana
 
Mobilidade Urbana
Mobilidade UrbanaMobilidade Urbana
Mobilidade Urbana
 
Mobilidade urbana pdf
 Mobilidade urbana pdf Mobilidade urbana pdf
Mobilidade urbana pdf
 

Semelhante a Sound Empirical Evidence in Software Testing

Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docxjustine1simpson78276
 
Characterization of Open-Source Applications and Test Suites
Characterization of Open-Source Applications and Test Suites Characterization of Open-Source Applications and Test Suites
Characterization of Open-Source Applications and Test Suites ijseajournal
 
Applied Observational Study.pptx
Applied Observational Study.pptxApplied Observational Study.pptx
Applied Observational Study.pptxMussieKebede3
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directionsTao He
 
Using the Machine to predict Testability
Using the Machine to predict TestabilityUsing the Machine to predict Testability
Using the Machine to predict TestabilityMiguel Lopez
 
30 February 2005 QUEUE rants [email protected] DARNEDTestin.docx
30  February 2005  QUEUE rants [email protected] DARNEDTestin.docx30  February 2005  QUEUE rants [email protected] DARNEDTestin.docx
30 February 2005 QUEUE rants [email protected] DARNEDTestin.docxtamicawaysmith
 
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASESA PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASESKula Sekhar Reddy Yerraguntla
 
ICELW Conference Slides
ICELW Conference SlidesICELW Conference Slides
ICELW Conference Slidestoolboc
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineeringsarfraznawaz
 
Software Defect Prediction Using Radial Basis and Probabilistic Neural Networks
Software Defect Prediction Using Radial Basis and Probabilistic Neural NetworksSoftware Defect Prediction Using Radial Basis and Probabilistic Neural Networks
Software Defect Prediction Using Radial Basis and Probabilistic Neural NetworksEditor IJCATR
 
An Adaptive Hybrid Technique approach of Test Case Prioritization
An Adaptive Hybrid Technique approach of Test Case PrioritizationAn Adaptive Hybrid Technique approach of Test Case Prioritization
An Adaptive Hybrid Technique approach of Test Case PrioritizationINFOGAIN PUBLICATION
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterArleneAndrews2
 
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...Eswar Publications
 
Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016Per Runeson
 

Semelhante a Sound Empirical Evidence in Software Testing (20)

Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
 
Characterization of Open-Source Applications and Test Suites
Characterization of Open-Source Applications and Test Suites Characterization of Open-Source Applications and Test Suites
Characterization of Open-Source Applications and Test Suites
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Applied Observational Study.pptx
Applied Observational Study.pptxApplied Observational Study.pptx
Applied Observational Study.pptx
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
 
Using the Machine to predict Testability
Using the Machine to predict TestabilityUsing the Machine to predict Testability
Using the Machine to predict Testability
 
30 February 2005 QUEUE rants [email protected] DARNEDTestin.docx
30  February 2005  QUEUE rants [email protected] DARNEDTestin.docx30  February 2005  QUEUE rants [email protected] DARNEDTestin.docx
30 February 2005 QUEUE rants [email protected] DARNEDTestin.docx
 
Testing
TestingTesting
Testing
 
Practices and Tools for Better Software Testing
Practices and Tools for  Better Software TestingPractices and Tools for  Better Software Testing
Practices and Tools for Better Software Testing
 
M018147883
M018147883M018147883
M018147883
 
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASESA PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
 
De carlo rizk 2010 icelw
De carlo rizk 2010 icelwDe carlo rizk 2010 icelw
De carlo rizk 2010 icelw
 
ICELW Conference Slides
ICELW Conference SlidesICELW Conference Slides
ICELW Conference Slides
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineering
 
Software Defect Prediction Using Radial Basis and Probabilistic Neural Networks
Software Defect Prediction Using Radial Basis and Probabilistic Neural NetworksSoftware Defect Prediction Using Radial Basis and Probabilistic Neural Networks
Software Defect Prediction Using Radial Basis and Probabilistic Neural Networks
 
Unit2 for st
Unit2 for stUnit2 for st
Unit2 for st
 
An Adaptive Hybrid Technique approach of Test Case Prioritization
An Adaptive Hybrid Technique approach of Test Case PrioritizationAn Adaptive Hybrid Technique approach of Test Case Prioritization
An Adaptive Hybrid Technique approach of Test Case Prioritization
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A Tester
 
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
 
Exploratory testing STEW 2016
Exploratory testing STEW 2016Exploratory testing STEW 2016
Exploratory testing STEW 2016
 

Mais de Jaguaraci Silva

GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...Jaguaraci Silva
 
Mapa mental tecnologias de separação de interesses
Mapa mental tecnologias de separação de interessesMapa mental tecnologias de separação de interesses
Mapa mental tecnologias de separação de interessesJaguaraci Silva
 
Mapa mental programação extrema
Mapa mental programação extremaMapa mental programação extrema
Mapa mental programação extremaJaguaraci Silva
 
Mapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilMapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilJaguaraci Silva
 
Mapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareMapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareJaguaraci Silva
 
Mapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeMapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeJaguaraci Silva
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Jaguaraci Silva
 
What agile teams think about agile principles
What agile teams think about agile principlesWhat agile teams think about agile principles
What agile teams think about agile principlesJaguaraci Silva
 
FRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaFRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaJaguaraci Silva
 
FACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIFACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIJaguaraci Silva
 
SOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationSOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationJaguaraci Silva
 
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Jaguaraci Silva
 
Windows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewWindows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewJaguaraci Silva
 
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJBusiness Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJJaguaraci Silva
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioJaguaraci Silva
 
Controle Remoto de Residências
Controle Remoto de ResidênciasControle Remoto de Residências
Controle Remoto de ResidênciasJaguaraci Silva
 
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Jaguaraci Silva
 
Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Jaguaraci Silva
 
Técnicas para implementar aspectos de confiança em Web services
Técnicas para implementar aspectos de confiança em Web servicesTécnicas para implementar aspectos de confiança em Web services
Técnicas para implementar aspectos de confiança em Web servicesJaguaraci Silva
 

Mais de Jaguaraci Silva (20)

Oracle soa suite 11 g
Oracle soa suite 11 gOracle soa suite 11 g
Oracle soa suite 11 g
 
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
GranDIHC-BR: prospecção de grandes desafios de pesquisa em interação humano-c...
 
Mapa mental tecnologias de separação de interesses
Mapa mental tecnologias de separação de interessesMapa mental tecnologias de separação de interesses
Mapa mental tecnologias de separação de interesses
 
Mapa mental programação extrema
Mapa mental programação extremaMapa mental programação extrema
Mapa mental programação extrema
 
Mapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágilMapa mental desenvolvimento ágil
Mapa mental desenvolvimento ágil
 
Mapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareMapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de Software
 
Mapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidadeMapa mental envolvendo os conceitos sobre dependabilidade
Mapa mental envolvendo os conceitos sobre dependabilidade
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
 
What agile teams think about agile principles
What agile teams think about agile principlesWhat agile teams think about agile principles
What agile teams think about agile principles
 
FRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica CorporativaFRAMEWORK FACTO - Governança Tecnológica Corporativa
FRAMEWORK FACTO - Governança Tecnológica Corporativa
 
FACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TIFACTO Framework - Introdução Amigável a Governança de TI
FACTO Framework - Introdução Amigável a Governança de TI
 
SOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM CertificationSOA Service-oriented Architecture Fundamentals IBM Certification
SOA Service-oriented Architecture Fundamentals IBM Certification
 
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
Fundamentos Em Business Process Management Modelagem de Processos de Negócio ...
 
Windows Server 2008 R2 Overview
Windows Server 2008 R2 OverviewWindows Server 2008 R2 Overview
Windows Server 2008 R2 Overview
 
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJBusiness Rules Separation and Reuse Using MDA, OWL and AspectJ
Business Rules Separation and Reuse Using MDA, OWL and AspectJ
 
Protocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem FioProtocolos De Transporte Para Redes Sem Fio
Protocolos De Transporte Para Redes Sem Fio
 
Controle Remoto de Residências
Controle Remoto de ResidênciasControle Remoto de Residências
Controle Remoto de Residências
 
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
Utilizando RUP e Modelagem de processo para especificar aplicações Web 2.0
 
Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.Virtualização de Cluster na plataforma Microsoft.
Virtualização de Cluster na plataforma Microsoft.
 
Técnicas para implementar aspectos de confiança em Web services
Técnicas para implementar aspectos de confiança em Web servicesTécnicas para implementar aspectos de confiança em Web services
Técnicas para implementar aspectos de confiança em Web services
 

Último

"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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
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
 
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
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
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
 
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
 
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
 

Último (20)

"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
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
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
 
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
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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...
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
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
 
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
 
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...
 

Sound Empirical Evidence in Software Testing

  • 2. Today´ Today´s schedule: 1 - SWE Empirical Studies (Brief Introduction) 2 – Analyzing the Study using a GQM Methodology 3 – Discuss its Implications for SWE experimentation 4 - Conclusion
  • 3. SWE Empirical Studies (Very Brief Introduction)
  • 4. SWE Empirical Studies (Very Brief Introduction) •Scientific method. Scientists develop a theory to explain a phenomenon; they propose a hypothesis and then test alternative variations of the hypothesis. As they do so, they collect data to verify or refute the claims of the hypothesis. •Engineering method. Engineers develop and test a solution to a hypothesis. Based upon the results of the test, they improve the solution until it requires no further improvement. •Empirical method. A statistical method is proposed as a means to validate a given hypothesis. Unlike the scientific method, there may not be a formal model or theory describing the hypothesis. Data is collected to verify the hypothesis. •Analytical method. A formal theory is developed, and results derived from that theory can be compared with empirical observations.
  • 5. SWE Empirical Studies (Very Brief Introduction) Validation Methods
  • 6. SWE Empirical Studies (Very Brief Introduction) Validation Methods -> Evaluation
  • 7. SWE Empirical Studies (Very Brief Introduction) GQM Methodology
  • 8. From this point, we will analyze the paper. Any questions?
  • 9. Project Plan To list the inspected papers and tools together with statistics on their experiments; To explicit how many out of the considered classes are container classes, if this was clearly specified. To list how the evaluation classes were selected;
  • 11. Defining the Objectives Compare the results in terms of the achieved branch coverage; I/O interaction with the environment, multi- threading, etc.
  • 13. Defining the Objectives Test generation for such code is unsafe as the tested code might interact with its environment in undesired ways; To find out how many unsafe operations are attempted during test generation; To discuss the potential implications of the choice of case studies;
  • 14. Questions RQ1: What is the probability distribution of achievable branch coverage on open source software? RQ2: How often do classes execute unsafe operations? RQ3: What are the consequences of choosing a small case study in a biased way?
  • 15. Collecting the Data Out of 44 evaluations we considered in our literature survey, 29 selected their case study programs from open source programs; In total, there are 8784 classes and 291,639 bytecode branches reported by EVOSUITE in this case study;
  • 16. Collecting the Data We based our selection on the dataset of all projects tagged as being written in the Java programming language; We therefore had to consider 321 projects until we had a set of 100 projects in binary format;
  • 18. Measurement of the Metrics The branch distance estimates how close a branch is to evaluating to true or false for a particular run; For each branch we consider the minimum branch distance over all test cases of a test suite; The overall fitness of a test suite is the sum of these minimal values, such that an individual with 100% branch coverage has fitness 0;
  • 19. Achieving the objectives As context of our experiment we chose the EVOSUITE tool, which automatically generates test suites for Java classes, targeting branch coverage; EVOSUITE uses genetic algorithm evolves candidate individuals using operators (e.g., selection, crossover and mutation);
  • 20. Achieving the objectives Mutation of test cases may add, remove, or change the method calls in a sequence; Fitness is calculated with respect to branch coverage, using a calculation based on the well-established branch distance measurement.
  • 25. Analyzing the Answers RQ1 - This shows that there is a large number of classes which can easily be fully covered by EVOSUITE (coverage 90%-100%), and also a large number of classes with problems (coverage 0%-10%), while the rest is evenly distributed across the 10%-90% range. RQ2 - Consequently, interactions with the environment are a prime source of problems in achieving coverage. It is striking that 71% of all classes lead to some kind of FilePermission.
  • 26. Analyzing the Answers RQ3 - Our empirical analysis has shown that 90.7% of classes may lead to interactions with their environment. When there are no interactions with the environment EVOSUITE can achieve an average coverage as high as 90%;
  • 27. Analyzing the Answers To understand the problems in test generation better, we manually inspected: 10 classes that had low coverage but no permission problems 10 classes that had file permission problems 10 classes that had network problems 10 classes with runtime permission problems.
  • 28. Analyzing the Answers Manual Inspection - 10 classes that had low coverage but no permission problems, we identified the following main reasons for low coverage: 1) Complex string handling; 2) Java generics and dynamic type handling 3) branches in exception handling code; The other problems were linking up with the environment for testing classes as the major technical obstacle;
  • 29. Threats to Validity Our study was focused on obtaining insights on the challenges of applying test generation tools in realistic settings, our research questions did not deal with comparisons of algorithms, and so statistical tests were not required; A possible threat to the construct validity is how we evaluated whether there are unsafe operations when testing a class.
  • 30. Threats to Validity if we encountered high kurtosis (is a measure of the "heaviness" of the tails of a distribution) in the number of classes per project (63) and branches per class (429), median values are not particularly affected by extreme outliers; e.g.: A normal distribution: 66% within 1std, 95% within 2 std, and 99% within 3 std, has a kurtosis of 0. When the sample kurtosis deviates > 0 it means the tails are "heavier”.
  • 31. Threats to Validity To reduce such threat to validity, we used bootstrapping (is a method for assigning measures of accuracy to sample estimates) to create confidence intervals for some statistics data; Our results might not extend to all open source projects, as other repositories (e.g., Google Code) might contain software with statistically different distribution properties (e.g., number of classes per project, difficulty of the software from the point of view of test data generation).
  • 32. Conclusions 23 projects for which EVOSUITE achieves on average a coverage higher than 80%. If we wanted to boast and promote our research prototype EVOSUITE, we could have carried out an empirical analysis with only those 23 projects; That would have resulted in a variegated and large empirical analysis. In other words, any case study, in which the selection of artifacts is not justified and not done in systematic way, tells very little about the actual performance of the analyzed techniques;
  • 33. Conclusions As most of the research body in the software testing literature seems to ignore these issues our empirical analysis is a valuable source of statistically valid information to understand which are the real problems that need to be solved by the software testing research community; With this paper, we challenge the research community to develop novel testing techniques to achieve at least 80% of bytecode branch coverage on this SF100 corpus, because it is a valid representative of open source projects, and our EVOSUITE prototype only achieved 48% coverage on average;
  • 34. Thank you very much!. much! Any questions? questions?