Fabiano Ferrari Software Engineering Federal University of São Carlos

Slides:



Advertisements
Similar presentations
FOR PROFESSIONAL OR ACADEMIC PURPOSES September 2007 L. Codina. UPF Interdisciplinary CSIM Master Online Searching 1.
Advertisements

"How's our impact?: Developing a survey toolkit to assess how health library services impact on patient care" Alison Weightman July 2008.
1 A Systematic Review of Cross- vs. Within-Company Cost Estimation Studies Barbara Kitchenham Emilia Mendes Guilherme Travassos.
Efficient IR-Style Keyword Search over Relational Databases Vagelis Hristidis University of California, San Diego Luis Gravano Columbia University Yannis.
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 18, 2008.
An Analysis and Survey of the Development of Mutation Testing by Yue Jia and Mark Harmon A Quick Summary For SWE6673.
Of 17 Assessing the Influence of Multiple Test Case Selection on Mutation Experiments Marcio E. Delamaro and Jeff Offutt George Mason University & Universidade.
Mapping Studies – Why and How Andy Burn. Resources The idea of employing evidence-based practices in software engineering was proposed in (Kitchenham.
Flow Algorithms for Two Pipelined Filtering Problems Anne Condon, University of British Columbia Amol Deshpande, University of Maryland Lisa Hellerstein,
© 2006 Fraunhofer CESE1 MC/DC in a nutshell Christopher Ackermann.
Bibliometrics in Computer Science MyRI project team.
How the University Library can help you with your term paper Computer Science SC Hester Mountifield Science Library x 8050
Project Proposal (Title + Abstract) Due Wednesday, September 4, 2013.
IR1IMEM YEAR ONE RESEARCH METHODOLOGY L2: Reviewing Literature, Formulating Research Problem, Variables DR. JAVED-VASSILIS KHAN, Drs. Allerd Peters, Frank.
A Systematic Mapping Study on Software Engineering Testbeds Emanoel Barreiros Advisor: Sérgio Soares.
Introduction to writing scientific papers Gaby van Dijk.
© SERG Dependable Software Systems (Mutation) Dependable Software Systems Topics in Mutation Testing and Program Perturbation Material drawn from [Offutt.
Systematic Reviews.
Sysoft eRFP Group Decision Support System. eRFP is flexible and productive Every RFP is different Agencies have somewhat different processes Procurement.
Copyright © Allyn & Bacon 2008 Locating and Reviewing Related Literature Chapter 3 This multimedia product and its contents are protected under copyright.
Software Logic Mutation Testing Presented by Gary Kaminski.
Applicability of EMG-based Computerized Classifiers for Discriminating Myogenic & Neurogenic Myopathies A Systematic Review Eybpoosh M.H. BSc. of Biomedical.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
ICOM 6115: COMPUTER SYSTEMS PERFORMANCE MEASUREMENT AND EVALUATION Nayda G. Santiago August 16, 2006.
RecBench: Benchmarks for Evaluating Performance of Recommender System Architectures Justin Levandoski Michael D. Ekstrand Michael J. Ludwig Ahmed Eldawy.
Of 18 Is Bytecode Instrumentation as Good as Source Instrumentation? An Empirical Study with Industrial Tools Nan Li, Xin Meng, Jeff Offutt, and Lin Deng.
LOGO A comparison of two web-based document management systems ShaoxinYu Columbia University March 31, 2009.
Workshop on VHL and HEN, Sao Paulo, April 2006 Access to evidence HEN - sources of evidence Collection of health and health- related information.
Emerging Trend Detection Shenzhi Li. Introduction What is an Emerging Trend? –An Emerging Trend is a topic area for which one can trace the growth of.
Digital Libraries1 David Rashty. Digital Libraries2 “A library is an arsenal of liberty” Anonymous.
Lluís Codina (UPF) MUCS Dept. Of Communication Online Searching: role and characteristics of Academic Databases.
ApproxHadoop Bringing Approximations to MapReduce Frameworks
Dimensionality Reduction in Unsupervised Learning of Conditional Gaussian Networks Authors: Pegna, J.M., Lozano, J.A., Larragnaga, P., and Inza, I. In.
A Supervised Machine Learning Algorithm for Research Articles Leonidas Akritidis, Panayiotis Bozanis Dept. of Computer & Communication Engineering, University.
Agenda  INTRODUCTION  GENETIC ALGORITHMS  GENETIC ALGORITHMS FOR EXPLORING QUERY SPACE  SYSTEM ARCHITECTURE  THE EFFECT OF DIFFERENT MUTATION RATES.
CS & CS ST: Probabilistic Data Management Fall 2016 Xiang Lian Kent State University Kent, OH
Data Mining for Expertise: Using Scopus to Create Lists of Experts for U.S. Department of Education Discretionary Grant Programs Good afternoon, my name.
What is Software Test Automation?
BME1450: Biomaterials and Biomedical Research
Secondary Data Searches
TJTS505: Master's Thesis Seminar
CSE594 Fall 2009 Jennifer Wong Oct. 14, 2009
Presented by Renee Harrison, MSW University of Utah 2012
TJTS505: Master's Thesis Seminar
Deriving Test Data for Web Applications from User Session Logs
PLANNING AND DESIGNING A RESEARCH STUDY
Literature Surveys Source : : Keshav P. Dahal (Bradford University)
Proposing a Scientific Paper Retrieval and Recommender Framework
A Meta Analysis of the Impact of SBI on Healthcare Utilization
Analyzing the Validity of Selective Mutation with Dominator Mutants
Literature review Dr.Rehab F Gwada.
The Basics of Literature Reviews
Syntax-based Testing CS 4501 / 6501 Software Testing
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
It is great that we automate our tests, but why are they so bad?
An Efficient method to recommend research papers and highly influential authors. VIRAJITHA KARNATAPU.
How to Read Research Papers?
Surafel Demissie, Frank Keenan, Özden Özcan-Top and Fergal McCaffery
LITERATURE REVIEW.
WISER Humanities: Keeping up to date
A Meta Analysis of the Impact of SBI on Healthcare Utilization
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
1Micheal T. Adenibuyan, 2Oluwatoyin A. Enikuomehin and 2Benjamin S
By Hyunsook Do, Sebastian Elbaum, Gregg Rothermel
CSE594 Fall 2009 Jennifer Wong Oct. 14, 2009
Cardiovascular Medication Therapy During the Holy Month of Ramadan: A Literature Review Yousef Ahmed Alomi.
Productivity Loop PowerWriter A systematic approach to world-class
Citation databases and social networks for researchers: measuring research impact and disseminating results - exercise Elisavet Koutzamani
Mitigating the Effects of Flaky Tests on Mutation Testing
Multidisciplinary Optimization
Presentation transcript:

A Systematic Review of Cost Reduction Techniques for Mutation Testing: Preliminary Results Fabiano Ferrari Software Engineering Federal University of São Carlos São Carlos, SP Brazil fcferrari@ufscar.br www2.dc.ufscar.br/~fabiano/ Alessandro Pizzoleto São Carlos, SP Brazil alessandro.pizzoleto@ufscar.br lapes.dc.ufscar.br/members/phd-students Jeff Offutt George Mason University Fairfax, VA USA offutt@gmu.edu www.cs.gmu.edu/~offutt/

Context and Motivation Mutation testing has been around for 40 years Strong test criterion: Highly effective compared with other test criteria Adequate for test quality assessment But… Mutation is expensive! © Ferrari, Pizzoleto, Offutt

Context and Motivation Much research has focused on cost reduction Partial mutant execution (weak mutation, firm mutation …) Grouping (mutant schemata, mutant clustering …) Mutant reduction (selective mutation, random mutation …) Fast execution (parallel execution, compiler optimization …) Questions How many techniques have been explored? What are the results? What are the tradeoffs? © Ferrari, Pizzoleto, Offutt

Goal and Method of our Study Characterizing the state-of-the-art of cost reduction of mutation testing Method: Systematic Literature Review (SLR) Rigorous approach to identify, evaluate, and interpret all available evidence about a particular topic © Ferrari, Pizzoleto, Offutt

© Ferrari, Pizzoleto, Offutt Review Setup © Ferrari, Pizzoleto, Offutt

Review Setup Research Questions: Starting point RQ1: Which techniques support mutation cost reduction? RQ2: Which metrics can measure mutation cost reduction? RQ3: What are the savings (benefit) and loss of effectiveness (mutation score) for the techniques? Starting point Studies cited in Jia & Harman’s 2011 survey © Ferrari, Pizzoleto, Offutt

© Ferrari, Pizzoleto, Offutt Review Setup Inclusion (I) and Exclusion (E) criteria: (I-1) The study proposes a way to reduce the cost of mutation or (I-2) The study applies a way to reduce the cost of mutation and (I-3) The study is peer-reviewed and published either in a conference, workshop, or journal (E-1) The study uses a technique that can reduce the cost of mutation, but cost reduction is not the main focus (E-2) The study uses mutation testing information for test quality assessment © Ferrari, Pizzoleto, Offutt

Review Setup Study Selection Process 1. Perform Automatic Search 2. Perform Snowballing 3. Perform Author Survey © Ferrari, Pizzoleto, Offutt

Review Setup (2) Study Selection Process 1. Perform Automatic Search 2. Perform Snowballing 3. Perform Author Survey 1.1 Customize Search String 1.2 Query Databases 1.3 Perform Pre-Selection 1.4 Perform Final Selection © Ferrari, Pizzoleto, Offutt

Review Setup (3) Study Selection Process 1. Perform Automatic Search 2. Perform Snowballing 3. Perform Author Survey 2.1 Retrieve References from Selected Studies 2.2 Filter Duplicates 2.3 Perform Pre-Selection 2.4 Perform Final Selection © Ferrari, Pizzoleto, Offutt

Review Setup (4) Study Selection Process 1. Perform Automatic Search 2. Perform Snowballing 3. Perform Author Survey 3.1 Contact Authors of Selected Studies 3.2 Retrieve References of Suggested Studies 3.3 Filter Duplicates 3.4 Perform Pre-Selection 3.5 Perform Final Selection © Ferrari, Pizzoleto, Offutt

© Ferrari, Pizzoleto, Offutt Results © Ferrari, Pizzoleto, Offutt

Results from Search Study Selection Process 1. Perform Automatic 2. Perform Snowballing 3. Perform Author Survey Round 1 – April 2016 Round 2 – September 2017 1.1 Customize Search String 1.2 Query Databases 1.3 Perform Pre-Selection 1.4 Perform Final Selection © Ferrari, Pizzoleto, Offutt

Results from Search Study Selection Process 1. Perform Automatic 2. Perform Snowballing 3. Perform Author Survey (“mutation testing” or “mutation analysis” or “mutant analysis”) and (“cost reduction” or “sufficient operator” or “sufficient mutation” or “constrained mutation” or “selective mutation” or “weak mutation” or “random selection” or “random mutation” or “random mutants” or “equivalent mutant” or “equivalent mutation”) 1.1 Customize Search String 1.2 Query Databases 1.3 Perform Pre-Selection 1.4 Perform Final Selection © Ferrari, Pizzoleto, Offutt

Results from Search Study Selection Process 1. Perform Automatic 2. Perform Snowballing 3. Perform Author Survey IEEE Xplore, ACM Digital Library, Elsevier ScienceDirect, Springer SpringerLink, Wiley Online Library, Expert Suggestions 1.1 Customize Search String 1.2 Query Databases 1.3 Perform Pre-Selection 1.4 Perform Final Selection © Ferrari, Pizzoleto, Offutt

Results from Search Study Selection Process 1. Perform Automatic 2. Perform Snowballing 3. Perform Author Survey Round 1: 85 studies Round 2 : 20 studies 1.1 Customize Search String 1.2 Query Databases 1.3 Perform Pre-Selection 1.4 Perform Final Selection © Ferrari, Pizzoleto, Offutt

Results from Snowballin Study Selection Process 1. Perform Automatic Search 2. Perform Snowballing 3. Perform Author Survey Over studies selected in round 1 19 studies 2.1 Retrieve References from Selected Studies 2.2 Filter Duplicates 2.3 Perform Pre-Selection 2.4 Perform Final Selection © Ferrari, Pizzoleto, Offutt

Results from Survey Study Selection Process 1. Perform Automatic Search 2. Perform Snowballing 3. Perform Author Survey Over all 124 selected studies 128 authors contacted by e-mail 41 replies 131 suggestions 22 more studies 3.1 Contact Authors of Selected Studies 3.2 Retrieve References of Suggested Studies 3.3 Filter Duplicates 3.4 Perform Pre-Selection 3.5 Perform Final Selection © Ferrari, Pizzoleto, Offutt

© Ferrari, Pizzoleto, Offutt Summary of Papers 146 selected studies 51 journal papers 86 conference and workshop full papers 9 conference and workshop short papers © Ferrari, Pizzoleto, Offutt

Categorizing by Technique © Ferrari, Pizzoleto, Offutt

© Ferrari, Pizzoleto, Offutt Counting by Year © Ferrari, Pizzoleto, Offutt

Analysis and Discussion © Ferrari, Pizzoleto, Offutt

Primary Goals for Cost Reduction 6 primary cost reduction goals: Reducing the number of mutants Detecting equivalent mutants Executing faster Reducing the number of test cases or the number of test case executions Avoiding the creation of certain mutants Automatically generating test cases © Ferrari, Pizzoleto, Offutt

22 Techniques for Cost Reduction Random mutation Higher order mutation Weak mutation Firm mutation Parallel execution Data-flow analysis Minimization and prioritization of test sets Compiler optimization Constrained mutation Metamutants (schemata) Control-flow analysis © Ferrari, Pizzoleto, Offutt

22 Techniques for Cost Reduction Random mutation Higher order mutation Weak mutation Firm mutation Parallel execution Data-flow analysis Minimization and prioritization of test sets Compiler optimization Constrained mutation Metamutants (schemata) Control-flow analysis Selective mutation Serial execution Sufficient operators Optimization of generation, execution, and analysis of mutants Evolutionary algorithms Sequential and orderly execution One-op mutation Execution trace analysis Model-based testing State-based analysis Minimal mutation © Ferrari, Pizzoleto, Offutt

Techniques for Cost Reduction © Ferrari, Pizzoleto, Offutt

Measurement of Cost Reduction 18 metrics: Number of test cases required to achieve mutant coverage Number of mutants to be executed Mutant execution speedup Mutant execution efficiency Test generation speedup Number of equivalent mutants automatically detected Number of cycles or generations) in evolutionary algorithms Mutant compilation speedup Mutant generation speedup © Ferrari, Pizzoleto, Offutt

Measurement of Cost Reduction 18 metrics: Number of test cases required to achieve mutant coverage Number of mutants to be executed Mutant execution speedup Mutant execution efficiency Test generation speedup Number of equivalent mutants automatically detected Number of cycles or generations) in evolutionary algorithms Mutant compilation speedup Mutant generation speedup Completeness of generated test suite Number of killable mutants automatically detected Number of equivalent mutants generated Number of cycles in test generation algorithms Mutant analysis speedup Probability to kill mutants Number of test case executions Number of duplicated mutants automatically detected Variation in mutation score © Ferrari, Pizzoleto, Offutt

Measurement of Cost Reduction © Ferrari, Pizzoleto, Offutt

© Ferrari, Pizzoleto, Offutt Conclusions Many different techniques Some are combined to achieve single or multiple goals Selecting subsets of mutants Automatic equivalent mutant detection Fast and fewer executions Metrics to evaluate them include: Number of mutants to be executed Mutant execution speedup Recent and active cost reduction approaches include: Evolutionary algorithms Control-flow analysis Selective mutation (including minimal mutation) © Ferrari, Pizzoleto, Offutt

© Ferrari, Pizzoleto, Offutt Future Work Extensive analysis of selected studies Overall characterization of studies, techniques and metrics Research Questions RQ1 and RQ2 Analysis of savings and loss of effectiveness for the techniques Research Question RQ3 Much deeper and longer journal paper Regular updates of the dataset Fabiano Ferrari fcferrari@ufscar.br Questions : © Ferrari, Pizzoleto, Offutt