The document summarizes a paper that presents Mutation Analysis for Space Software (MASS), a scalable and automated pipeline for mutation testing of cyber-physical systems software in the space domain. The pipeline includes steps to create mutants, sample and prioritize mutants, discard equivalent mutants, and compute mutation scores. An empirical evaluation on space software case studies found that MASS provides accurate mutation scores with fewer sampled mutants compared to other sampling approaches. It also enables significant time savings over non-optimized mutation analysis through test case prioritization and reduction techniques. MASS helps uncover weaknesses in test suites and ensures thorough software testing for safety-critical space systems.
Kill the mutants and test your tests - Roy van RijnNLJUG
Quis custodiet ipsos custodes? Better known as: *Who watches the watchmen?* We are all writing tests, doing TDD, BDD. We measure the quality of the tests with line coverage or (even better) branch coverage. This gives you a false sense of security. I've seen projects with tests which have 100% branch coverage but not a single assertion! This is where mutation testing helps out. By creating broken mutated instances of your codebase (mutants) this should result in failing unit tests. This way we can verify that slight code changes (like real life bugs) actually break your tests. In this talk I'll explain what mutation testing is and how it works. We'll also compare some Java frameworks (PIT, Jester, Jumble) that enable automatic mutation testing in your continuous build and how you can start doing mutation testing *right now*.
Strategies to Avoid Test Fixture Smells durin Software EvolutionMichaela Greiler
An important challenge in creating automated tests
is how to design test fixtures, i.e., the setup code that initializes the
system under test before actual automated testing can start. Test
designers have to choose between different approaches for the
setup, trading off maintenance overhead with slow test execution.
Over time, test code quality can erode and test smells can develop,
such as the occurrence of overly general fixtures, obscure inline
code and dead fields. In this paper, we investigate how
fixture-related test smells evolve over time by analyzing several
thousand revisions of five open source systems. Our findings
indicate that setup management strategies strongly influence the
types of test fixture smells that emerge in code, and that several
types of fixture smells often emerge at the same time. Based on
this information, we recommend important guidelines for setup
strategies, and suggest how tool support can be improved to help
in both avoiding the emergence of such smells as well as how to
refactor code when test smells do appear.
Kill the mutants and test your tests - Roy van RijnNLJUG
Quis custodiet ipsos custodes? Better known as: *Who watches the watchmen?* We are all writing tests, doing TDD, BDD. We measure the quality of the tests with line coverage or (even better) branch coverage. This gives you a false sense of security. I've seen projects with tests which have 100% branch coverage but not a single assertion! This is where mutation testing helps out. By creating broken mutated instances of your codebase (mutants) this should result in failing unit tests. This way we can verify that slight code changes (like real life bugs) actually break your tests. In this talk I'll explain what mutation testing is and how it works. We'll also compare some Java frameworks (PIT, Jester, Jumble) that enable automatic mutation testing in your continuous build and how you can start doing mutation testing *right now*.
Strategies to Avoid Test Fixture Smells durin Software EvolutionMichaela Greiler
An important challenge in creating automated tests
is how to design test fixtures, i.e., the setup code that initializes the
system under test before actual automated testing can start. Test
designers have to choose between different approaches for the
setup, trading off maintenance overhead with slow test execution.
Over time, test code quality can erode and test smells can develop,
such as the occurrence of overly general fixtures, obscure inline
code and dead fields. In this paper, we investigate how
fixture-related test smells evolve over time by analyzing several
thousand revisions of five open source systems. Our findings
indicate that setup management strategies strongly influence the
types of test fixture smells that emerge in code, and that several
types of fixture smells often emerge at the same time. Based on
this information, we recommend important guidelines for setup
strategies, and suggest how tool support can be improved to help
in both avoiding the emergence of such smells as well as how to
refactor code when test smells do appear.
"SQCFramework: SPARQL Query Containment Benchmarks Generation Framework" as presented in the 9th International Conference on Knowledge Capture(K-Cap 2017), December 4th-6th, 2017, held in Austin, USA.
This work was supported by grants from the EU H2020 Framework Programme provided for the project HOBBIT (GA no. 688227).
A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...ejhukkanen
Processes with distributions are pervasive:
- Molecular: molecular weight distribution in polymerization
- Microparticle: particle size distribution in suspension polymerization
- Biological: rupture frequency distributions in single- molecule pulling experiments
This thesis presents a systematic approach to the modeling and control of these processes
Systematic approach applied to diverse processes
-Molecular distributions
-Microparticle distributions
-Biological distributions
Common approach
- Experiments/equipment
- Parameter estimation
- Sensitivity and uncertainty analysis
- Model selection
- Optimal control
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...Fabio Palomba
The role of software testing in the software development process is widely recognized as a key activity for successful projects. This is the reason why in the last decade several automatic unit test generation tools have been proposed, focusing particularly on high code coverage. Despite the effort spent by the research community, there is still a lack of empirical investigation aimed at analyzing the characteristics of the produced test code. Indeed, while some studies inspected the effectiveness and the usability of these tools in practice, it is still unknown whether test code is maintainable. In this paper, we conducted a large scale empirical study in order to analyze the diffusion of bad design solutions, namely test smells, in automatically generated unit test classes. Results of the study show the high diffusion of test smells as well as the frequent co-occurrence of different types of design problems. Finally we found that all test smells have strong positive correlation with structural characteristics of the systems such as size or number of classes.
Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...GERSTEL
During This Free Presentation, You Will Learn:
How the GERSTEL MPS and MAESTRO software can be used to automate a variety of sample preparation techniques as well as injection of samples.
Specific applications that use automated sample preparation prior to injection into an LCMSMS system.
The wide variety of automated sample preparation options offered by GERSTEL.
Automated Dried Blood Spot extraction and analysis using LC/MS/MS.
Automated Liquid-Liquid extraction and analysis by LC/MS/MS of vitamin B compounds from fortified drinks.
Automated SPE of drugs of abuse from oral fluid samples and analysis by LC/MS/MS.
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyManuel Martín
In process industry, chemical processes are controlled and monitored by using readings from multiple physical sensors across the plants. Such physical sensors are also supplemented by soft sensors, i.e. adaptive predictive models, which are often used for computing hard-to-measure variables of the process. For soft sensors to work well and adapt to changing operating conditions they need to be provided with relevant data. As production plants are regularly stopped, data instances generated during shutdown periods have to be identified to avoid updating these predictive models with wrong data. We present a case study concerned with a large chemical plant operation over a 2 years period. The task is to robustly and accurately identify the shutdown periods even in case of multiple sensor failures. State-of-the-art methods were evaluated using the first half of the dataset for calibration purposes and the other half for measuring the performance. Results show that shutdowns (i.e. sudden changes) can be quickly detected in any case but the detection delay of startups (i.e. gradual changes) is directly related with the choice of a window size.
Defect prediction models help software quality assurance teams to effectively allocate their limited resources to the most defect-prone software modules. Model validation techniques, such as k-fold cross-validation, use this historical data to estimate how well a model will perform in the future. However, little is known about how accurate the performance estimates of these model validation techniques tend to be. In this paper, we set out to investigate the bias and variance of model validation techniques in the domain of defect prediction. A preliminary analysis of 101 publicly available defect prediction datasets suggests that 77% of them are highly susceptible to producing unstable results. Hence, selecting an appropriate model validation technique is a critical experimental design choice. Based on an analysis of 256 studies in the defect prediction literature, we select the 12 most commonly adopted model validation techniques for evaluation. Through a case study of data from 18 systems that span both open-source and proprietary domains, we derive the following practical guidelines for future defect prediction studies: (1) the single holdout validation techniques should be avoided; and (2) researchers should use the out-of-sample bootstrap validation technique instead of holdout or the commonly-used cross-validation techniques.
"SQCFramework: SPARQL Query Containment Benchmarks Generation Framework" as presented in the 9th International Conference on Knowledge Capture(K-Cap 2017), December 4th-6th, 2017, held in Austin, USA.
This work was supported by grants from the EU H2020 Framework Programme provided for the project HOBBIT (GA no. 688227).
A Systems Approach to the Modeling and Control of Molecular, Microparticle, a...ejhukkanen
Processes with distributions are pervasive:
- Molecular: molecular weight distribution in polymerization
- Microparticle: particle size distribution in suspension polymerization
- Biological: rupture frequency distributions in single- molecule pulling experiments
This thesis presents a systematic approach to the modeling and control of these processes
Systematic approach applied to diverse processes
-Molecular distributions
-Microparticle distributions
-Biological distributions
Common approach
- Experiments/equipment
- Parameter estimation
- Sensitivity and uncertainty analysis
- Model selection
- Optimal control
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...Fabio Palomba
The role of software testing in the software development process is widely recognized as a key activity for successful projects. This is the reason why in the last decade several automatic unit test generation tools have been proposed, focusing particularly on high code coverage. Despite the effort spent by the research community, there is still a lack of empirical investigation aimed at analyzing the characteristics of the produced test code. Indeed, while some studies inspected the effectiveness and the usability of these tools in practice, it is still unknown whether test code is maintainable. In this paper, we conducted a large scale empirical study in order to analyze the diffusion of bad design solutions, namely test smells, in automatically generated unit test classes. Results of the study show the high diffusion of test smells as well as the frequent co-occurrence of different types of design problems. Finally we found that all test smells have strong positive correlation with structural characteristics of the systems such as size or number of classes.
Automated sample preparation using the GERSTEL MPS Series and MAESTRO softwar...GERSTEL
During This Free Presentation, You Will Learn:
How the GERSTEL MPS and MAESTRO software can be used to automate a variety of sample preparation techniques as well as injection of samples.
Specific applications that use automated sample preparation prior to injection into an LCMSMS system.
The wide variety of automated sample preparation options offered by GERSTEL.
Automated Dried Blood Spot extraction and analysis using LC/MS/MS.
Automated Liquid-Liquid extraction and analysis by LC/MS/MS of vitamin B compounds from fortified drinks.
Automated SPE of drugs of abuse from oral fluid samples and analysis by LC/MS/MS.
Online Detection of Shutdown Periods in Chemical Plants: A Case StudyManuel Martín
In process industry, chemical processes are controlled and monitored by using readings from multiple physical sensors across the plants. Such physical sensors are also supplemented by soft sensors, i.e. adaptive predictive models, which are often used for computing hard-to-measure variables of the process. For soft sensors to work well and adapt to changing operating conditions they need to be provided with relevant data. As production plants are regularly stopped, data instances generated during shutdown periods have to be identified to avoid updating these predictive models with wrong data. We present a case study concerned with a large chemical plant operation over a 2 years period. The task is to robustly and accurately identify the shutdown periods even in case of multiple sensor failures. State-of-the-art methods were evaluated using the first half of the dataset for calibration purposes and the other half for measuring the performance. Results show that shutdowns (i.e. sudden changes) can be quickly detected in any case but the detection delay of startups (i.e. gradual changes) is directly related with the choice of a window size.
Defect prediction models help software quality assurance teams to effectively allocate their limited resources to the most defect-prone software modules. Model validation techniques, such as k-fold cross-validation, use this historical data to estimate how well a model will perform in the future. However, little is known about how accurate the performance estimates of these model validation techniques tend to be. In this paper, we set out to investigate the bias and variance of model validation techniques in the domain of defect prediction. A preliminary analysis of 101 publicly available defect prediction datasets suggests that 77% of them are highly susceptible to producing unstable results. Hence, selecting an appropriate model validation technique is a critical experimental design choice. Based on an analysis of 256 studies in the defect prediction literature, we select the 12 most commonly adopted model validation techniques for evaluation. Through a case study of data from 18 systems that span both open-source and proprietary domains, we derive the following practical guidelines for future defect prediction studies: (1) the single holdout validation techniques should be avoided; and (2) researchers should use the out-of-sample bootstrap validation technique instead of holdout or the commonly-used cross-validation techniques.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
Cryptocurrency trading bots are computer programs designed to automate buying, selling, and managing cryptocurrency transactions. These bots utilize advanced algorithms and machine learning techniques to analyze market data, identify trading opportunities, and execute trades on behalf of their users. By automating the decision-making process, crypto trading bots can react to market changes faster than human traders
Hivelance, a leading provider of cryptocurrency trading bot development services, stands out as the premier choice for crypto traders and developers. Hivelance boasts a team of seasoned cryptocurrency experts and software engineers who deeply understand the crypto market and the latest trends in automated trading, Hivelance leverages the latest technologies and tools in the industry, including advanced AI and machine learning algorithms, to create highly efficient and adaptable crypto trading bots
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Globus Connect Server Deep Dive - GlobusWorld 2024
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain
1. Mutation Analysis for Cyber-Physical Systems:
Scalable Solutions and Results in the Space Domain
Oscar Cornejo, Fabrizio Pastore, Lionel Briand
University of Luxembourg
University of Ottawa
ICSE 2022
Journal First paper appearing in in IEEE Transactions on Software Engineering,
doi:10.1109/TSE.2021.3107680
2. 2
Fault-based, Automated Quality Assurance
Assessment and Augmentation for Space Software
(FAQAS)
Gomspace
Luxembourg (GSL)
• Develop Nanosatellites
• Case study provider
• Technology validator
LuxSpace
SnT/University of
Luxembourg
• Technology provider
• Develop Microsatelites
• Case study provider
• Technology validator
https://faqas.uni.lu/
• Tenderer
• Case study provider
• Technology validator
8. 8
Mutation Analysis
SUT SUT SUT SUT
Test
Suite
Test
Suite
Test
Suite
Test
Suite
SUT
Test
Suite
. . .
FAIL PASS FAIL FAIL PASS
SUT
Test
Suite
PASS
Mutation score =
# FAIL
Total
EQUIVALENT
REDUNDANT
SCALABILITY
9. 12
Mutation Literature
Lack integrated
pipeline
Schemata and split-stream:
Infeasible with hardware
emulators
Mutants sampling:
no accuracy guarantees
or too many mutants
Prioritization solutions:
Assumptions on test length
or rely on expensive data-flow
analysis
Redundant mutants:
better keep
subsumed ones but
distinguish them.
We discard
only duplicate
mutants.
Equivalent mutants’ detection:
Symbolic execution
infeasible with large
systems
(modelling of channels,
no floating point, ..)
Dynamic analysis
collect too much data
13. 16
Create mutants Compile mutants
2
Collect test data
1
Code
Coverage
3
Mutants successfully
compiled
14. 17
Create mutants Compile mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants successfully
compiled
Unique mutants
• Literature: Equivalent programs may lead to same executables
after compiler optimizations
• We compile the original software and every mutant multiple
times
• once for each optimization option (i.e., -O0, -O1, -O2, -O3, -Os, -Ofast in GCC)
• we compute the SHA-512 hash summary of the generated executable
• we compare hash summaries
15. 18
Create mutants Compile mutants
Killed Mutants
Live Mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Sampled mutants
Sample mutants
Execute test cases
5
6
18. 23
65.36%
Mutants sampling
20%
40%
60%
80%
100%
0%
0 500 1000
• A confidence interval captures a range
that has a probability (e.g., 95%) of
including the estimated value, (the
mutation score)
• MS=[L;U]
• Assuming that MS follows a binomial
distribution, we rely on the Clopper-
Pearson method for CI computation
Mutation
score
Mutants sampled
• Fixed-width sequential confidence
interval (FSCI) method:
• stop sampling when (U – L) < 10
• difference between estimated MS and
actual one is at most 5 percentage p.
19. 24
Create mutants Compile mutants
Killed Mutants
Live Mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Evaluate mutation
score’s confidence
Sampled mutants
Sample mutants
Execute test cases
5
6 7
20. 25
Create mutants Compile mutants
Killed Mutants
Live Mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Evaluate mutation
score’s confidence
Sampled mutants
Sample mutants
Execute prioritized
subset of test cases
5
6 7 • MS=[L+Perr;U+ Perr]
• Proportion of mutants live
by mistake
Perr =[Lerr;Uerr]
• MS=[L+Lerr;U+ Uerr]
Confidence interval correction
21. 26
Create mutants Compile mutants
Killed Mutants
Live Mutants
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Evaluate mutation
score’s confidence
Sampled mutants
Sample mutants
Execute prioritized
subset of test cases
5
6 7
• Based on statement coverage
• Test suite prioritization:
• greedy algorithm
• select first the test cases
with the largest distance
from the closest, already
selected, test case
• Test suite reduction: exclude test
cases with a distance of zero
• Cosine distance: best accuracy
22. 32
Create mutants Compile mutants
Killed Mutants
Live Mutants Live,
non-equivalent
2
Collect test data
1
Code
Coverage
Remove equivalent/duplicate
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Killed
Evaluate mutation
score’s confidence
Sampled mutants
Discard likely equivalent
mutants based on coverage
Sample mutants
Execute prioritized
subset of test cases
5
6 7 8
30. 42
Case study subjects
• Control software of LuxSpace’s
ESAIL satelite
• Network, Configuration, and Utility
libraries from GomSpace’s
nanosatellites
• MLFS - Mathematical Library for
Flight Software by ESA
31. 45
RQ2. How do FSCI-based sampling compare
to other mutants sampling approaches?
• compute the actual mutation score using all the mutants
• compute the mutation score obtained with different sampling
methods, in 100 executions
• uniform sampling (i.e., selecting 1%, 2%, ..,20%, .., 100% of the mutants)
• uniform fixed-size sampling (i.e., selecting 100, 200, ..,1000 of the mutants)
• FSCI-based sampling (with CI=0.10, 0.09, .. 0.01)
• determine which approach configuration provides an accurate
mutation score with the lowest number of samples
• the mutation score is accurate if, for 95% executions, the difference from the actual
mutation score is below 5 percentage points
33. 48
RQ4. How do test suite optimization strategies
speed-up the mutation analysis process?
• Non-optimized mutation analysis
• for every mutant, execute all the test cases
that cover the mutant
• MASS includes two optimizations
• FSCI-based sampling
• Prioritize and Reduce
• Three possible MASS configurations
• execute all mutants and apply Prioritize and Reduce
• rely only on FSCI-based sampling
• FSCI-based sampling and Prioritize and Reduce
• Metric: the time savings wrt non-optimized
• consider 100 executions
Mutants Test cases
M1 T1 T2 T3 T4 T9
M2 T7 T9
M3 T4 T5 T8
M4 T10 12 T13 T15 T8
M1 T1 T2 T3 T4 T9
M3 T4 T5 T8
M1 T9 T3
M2 T9 T7
M3 T5 T8 T4
M4 T15 13 T8 T15
M1 T9 T3
M3 T5 T8 T4
35. 51
RQ4. Results
• MASS makes mutation analysis
feasible for large software
• ESAIL from 11,000 hours to 1,531
(12 hours with 100 HPC nodes)
Subject Execution time (hours)
ESAILS 11,000
LIBNet 70
LIBPar 13
LIBUtil 59
MLFS 47
Non-optimized execution
execute all mutants
and apply
Prioritize and Reduce
FSCI-based
sampling
and
Prioritize and Reduce
rely on
FSCI-based
sampling
36. 56
RQ6. How do MASS and traditonal mutation
score compare?
• Difference depends on the equivalent mutants being discarded
• Except for MLFS, score reflect imperfections in SiL test suites
• several features covered with HiL testing
• lack of coverage for exceptional/unusual case
• MLFS achieves MC/DC
• however, deletion operators show limitations in the test input partitions covered
Mutation score
Subject Traditional MASS
ESAILS 65.36 65.95
LIBNet 65.64 70.92
LIBPar 69.12 85.95
LIBUtil 71.20 84.41
MLFS 81.80 93.49
Average 70.62 81.14
37. 57
How to ensure
thorough testing
in Space CPS?
Results confirm the scalability and effectiveness of MASS, in particular
(1) accuracy and time savings introduced by FSCI-based sampling
(2) usefulness of mutation analysis to discover test suite pitfalls
39
Create mutants Compile mutants
Killed Mutants
Live Mutants Live,
non-equivalent
2
Collect test data
1
Code
Coverage
Remove equivalent/redundant
based on compiler optimizations
4
3
Mutants
Code coverage
Mutants successfully
compiled
Unique mutants
Killed
Evaluate mutation
score’s confidence
Sampled mutants
Discard likely equivalent
mutants based on coverage
Sample mutants
Execute prioritized
subset of test cases
5
6 7 8
Compute final
mutation score
9
Mutation testing
10
MASS: Mutation Analysis for Space Software
https://faqas.uni.lu/
38. Mutation Analysis for Cyber-Physical Systems:
Scalable Solutions and Results in the Space Domain
Oscar Cornejo, Fabrizio Pastore, Lionel Briand
University of Luxembourg
University of Ottawa
ICSE 2022
Journal First paper appearing in in IEEE Transactions on Software Engineering,
doi:10.1109/TSE.2021.3107680