4.1 Article

Semantic mutation testing

Journal

SCIENCE OF COMPUTER PROGRAMMING
Volume 78, Issue 4, Pages 345-363

Publisher

ELSEVIER SCIENCE BV
DOI: 10.1016/j.scico.2011.03.011

Keywords

Mutation testing; Semantics; Misunderstandings

Funding

  1. EPSRC [EP/G04354X/1, EP/G043604/1] Funding Source: UKRI
  2. Engineering and Physical Sciences Research Council [EP/G043604/1, EP/G04354X/1] Funding Source: researchfish

Ask authors/readers for more resources

Mutation testing is a powerful and flexible test technique. Traditional mutation testing makes a small change to the syntax of a description (usually a program) in order to create a mutant. A test suite is considered to be good if it distinguishes between the original description and all of the (functionally non-equivalent) mutants. These mutants can be seen as representing potential small slips and thus mutation testing aims to produce a test suite that is good at finding such slips. It has also been argued that a test suite that finds such small changes is likely to find larger changes. This paper describes a new approach to mutation testing, called semantic mutation testing. Rather than mutate the description, semantic mutation testing mutates the semantics of the language in which the description is written. The mutations of the semantics of the language represent possible misunderstandings of the description language and thus capture a different class of faults. Since the likely misunderstandings are highly context dependent, this context should be used to determine which semantic mutants should be produced. The approach is illustrated through examples with statecharts and C code. The paper also describes a semantic mutation testing tool for C and the results of experiments that investigated the nature of some semantic mutation operators for C. (C) 2011 Elsevier B.V. All rights reserved.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.1
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Editorial Material Computer Science, Software Engineering

Editorial: Testing, Debugging, and Defect Prediction

Robert M. Hierons, Tao Xie

SOFTWARE TESTING VERIFICATION & RELIABILITY (2021)

Review Computer Science, Information Systems

Test case generation for agent-based models: A systematic literature review

Andrew G. Clark, Neil Walkinshaw, Robert M. Hierons

Summary: This research presents a summary of state-of-the-art techniques for test case generation in agent-based models, highlighting the effectiveness of techniques for testing functional requirements at the agent and integration levels with a lack of capabilities for testing society-level behavior. The majority of techniques also fall short in testing non-functional requirements or "soft goals".

INFORMATION AND SOFTWARE TECHNOLOGY (2021)

Editorial Material Computer Science, Software Engineering

Combinatorial testing and model-based testing

Robert M. Hierons, Tao Xie

SOFTWARE TESTING VERIFICATION & RELIABILITY (2022)

Editorial Material Computer Science, Software Engineering

Model checking, testing and debugging

Robert M. Hierons, Tao Xie

SOFTWARE TESTING VERIFICATION & RELIABILITY (2022)

Article Computer Science, Information Systems

An information theoretic notion of software testability

Krishna Patel, Robert M. Hierons, David Clark

Summary: This study aims to assess the testability of the system under test (SUT) by devising new measures, particularly in relation to Failed Error Propagation (FEP). The experiments demonstrate a strong correlation between the new measures and the probability of FEP occurring, highlighting the simplicity and effectiveness of the Normalised Squeeziness measure.

INFORMATION AND SOFTWARE TECHNOLOGY (2022)

Editorial Material Computer Science, Software Engineering

Farewell after an 11-year journey as joint editor-in-chief

Robert M. Hierons

SOFTWARE TESTING VERIFICATION & RELIABILITY (2022)

Editorial Material Computer Science, Software Engineering

Metamorphic testing and test automation

Robert M. Hierons, Tao Xie

SOFTWARE TESTING VERIFICATION & RELIABILITY (2022)

Article Computer Science, Theory & Methods

Testing using CSP Models: Time, Inputs, and Outputs

James Baxter, Ana Cavalcanti, Maciej Gazda, Robert M. Hierons

Summary: This research introduces a new approach for timed refinement and testing using a dialect of CSP called tock-CSP. It provides a novel semantics for testing by distinguishing input and output events in tock-CSP. Additionally, a new testing theory for timewise refinement is presented, based on novel definitions of test and test execution. The paper also establishes a relationship between timed ioco testing and refinement in tock-CSP with inputs and outputs.

ACM TRANSACTIONS ON COMPUTATIONAL LOGIC (2023)

Article Computer Science, Hardware & Architecture

Trustworthy Autonomous Systems Through Verifiability

Mohammad Reza Mousavi, Ana Cavalcanti, Michael Fisher, Louise Dennis, Rob Hierons, Bilal Kaddouh, Effie Lai-Chong Law, Rob Richardson, Jan Oliver Ringer, Ivan Tyukin, Jim Woodcock

Summary: Autonomous systems have the potential to solve societal challenges, but trustworthiness is crucial. A U.K. consortium conducted research to address the central issue of establishing verifiability.

COMPUTER (2023)

Article Computer Science, Software Engineering

Modelling Second-Order Uncertainty in State Machines

Neil Walkinshaw, Robert M. Hierons

Summary: In this article, a method for modelling finite state machines using Subjective Logic is introduced. This method allows modellers to capture their own uncertainty about the stated probabilities, enhancing the accuracy and reliability of the models.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Article Computer Science, Theory & Methods

Removing redundant refusals: Minimal complete test suites for failure trace semantics

Maciej Gazda, Robert M. Hierons

Summary: We investigate the problem of finding a minimal complete test suite for refusal trace semantics. Our approach is based on generating a minimal complete set of forbidden refusal traces and utilizing insightful insights into the semantics. We identify a key class of refusals called fundamental refusals, which essentially determine the refusal trace semantics and associated equivalence relation. We propose a small but not necessarily minimal test suite and provide a method to remove redundant traces while maintaining uniform completeness if desired.

INFORMATION AND COMPUTATION (2023)

Review Computer Science, Information Systems

Digital-twin-based testing for cyber-physical systems: A systematic literature review

Richard J. Somers, James A. Douthwaite, David J. Wagg, Neil Walkinshaw, Robert M. Hierons

Summary: This study aims to summarize the existing literature on digital-twin-based testing. Digital twins enhance physical systems through visualization, future state prediction, and communication. The adoption of digital twin testing has been increasing in different domains, and the testing techniques are continuously evolving.

INFORMATION AND SOFTWARE TECHNOLOGY (2023)

Article Computer Science, Software Engineering

Incomplete Adaptive Distinguishing Sequences for Non-Deterministic FSMs

Uraz Cengiz Turker, Robert M. Hierons, Gerassimos Barlas, Khaled El-Fakih

Summary: The increasing complexity and criticality of software systems have led to a growing interest in automated test generation, particularly using model-based testing (MBT). This study proposes a generalization of incomplete adaptive distinguishing sequences (ADSs) to handle non-deterministic partial and observable finite state machines (FSMs). It also presents a novel algorithm to generate incomplete ADSs and demonstrates its superior performance in identifying states of the implementation under test (IUT) compared to existing methods.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Article Automation & Control Systems

Implementation relations and testing for cyclic systems: Adding probabilities

Manuel Nunez, Robert M. Hierons, Raluca Lefticaru

Summary: This paper focuses on systematically testing robotic control software based on state-based models. It provides a testing theory for cyclic systems, where time is represented and probabilities are used to model non-deterministic choices. The paper also considers refusals and different testing scenarios, leading to a range of implementation relations. It offers formal definitions of implementation relations that can be used for sound automated testing and validates them through alternative characterizations using observers.

ROBOTICS AND AUTONOMOUS SYSTEMS (2023)

Proceedings Paper Computer Science, Software Engineering

Are 20% of Classes Responsible for 80% of Refactorings?

Steve Counsell, Robert M. Hierons, Krishna Patel

Summary: The study found limited evidence supporting the 80-20 rule in refactoring activities, with only two systems showing clear indications. The main aspects included large-scale movements of class fields and methods, as well as the deliberate collapsing of class hierarchies using inheritance-based refactorings.

2021 47TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2021) (2021)

Article Computer Science, Software Engineering

A formal approach for the correct deployment of cloud applications

Amel Mammar, Meriem Belguidoum, Saddam Hocine Hiba

Summary: This paper introduces a formal EVENT-B-based approach for modeling and verifying the deployment of component-based applications. By gradually refining an abstract model, a precise specification is built, and mathematical reasoning is used to prove its correctness. The presented approach validates the deployment in a cloud environment using PROB and ensures the construction of a correct system that meets the constraints.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

Enhancing test reuse with GUI events deduplication and adaptive semantic matching

Shuqi Liu, Yu Zhou, Longbing Ji, Tingting Han, Taolue Chen

Summary: In this paper, we propose a framework that combines GUI events deduplication with an adaptive semantic matching strategy to enhance the usability of reused tests. Experimental evaluation demonstrates that the framework improves widget mapping performance, significantly reduces event redundancy, and reduces the manual effort of creating tests for similar applications.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

A method of test case set generation in the commutativity test of reduce functions

Xiangyu Mu, Lei Liu, Peng Zhang, Jingyao Li, Hui Li

Summary: The aim of this study is to reduce the size of the test case set required to detect the commutativity problem of the reduce function. By determining the pattern of the function and selecting corresponding test cases, the proposed test case generation strategy can achieve the same accuracy with a smaller test case set. It has been shown to be effective and has a high recall rate.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

An industrial experience report on model-based, AI-enabled proposal development for an RFP/RFI

Padmalata Nistala, Asha Rajbhoj, Vinay Kulkarni, Sapphire Noronha, Ankit Joshi

Summary: This paper presents an automated proposal development approach using a combination of model-based and AI-enabled techniques, and discusses the successful deployment and user feedback of the system.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

Translation certification for smart contracts

Jacco O. G. Krijnen, Manuel M. T. Chakravarty, Gabriele Keller, Wouter Swierstra

Summary: Compiler correctness is a long-standing problem, and it becomes more significant with the rise of smart contracts on blockchains. A translation certification framework can address the trust issue for low-level code on the blockchain, allowing users to have confidence in the compilation process of smart contracts.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

OnTrack: Reflecting on domain specific formal methods for railway designs

Phillip James, Faron Moller, Filippos Pantekis

Summary: OnTrack is a tool that supports railway verification workflows using model driven engineering frameworks, allowing railway engineers to interact with verification procedures through encapsulating formal methods.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

Generating C: Heterogeneous metaprogramming system description

Oleg Kiselyov

Summary: Heterogeneous metaprogramming systems leverage higher-level host languages to generate lower-level object language code, enabling faster production of high-performant code with correctness guarantees. This paper presents two systems with OCaml as the host language and C as the object language, discussing their implementation and applications.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

Reasoning about logical systems in the Coq proof assistant

Conor Reynolds, Rosemary Monahan

Summary: This paper provides a detailed approach to formalize a fragment of the theory of institutions in the Coq proof assistant. The approach is illustrated and evaluated by instantiating the framework with specific institution examples.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

Stochastic formal model of PI3K/mTOR pathway in Alzheimer's disease for drug repurposing: An evaluation of rapamycin, LY294002, and NVP-BEZ235

Herbert Rausch Fernandes, Giovanni Freitas Gomes, Antonio Carlos Pinheiro de Oliveira, Sergio Vale Aguiar Campos

Summary: Alzheimer's disease is a common form of dementia with no effective drug treatment available. In this study, a statistical model checking approach was used to analyze protein and drug interactions and evaluate the effects of different drugs on the components contributing to Alzheimer's disease. The results showed that rapamycin could slow down the biological process causing neuronal death, while LY294002 and NVP-BEZ235 may increase tau phosphorylation. These findings provide important insights for the scientific community and raise awareness about potential side effects of PI3K inhibitor drugs.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

Denotational and operational semantics for interaction languages: Application to trace analysis

Erwan Mahe, Christophe Gaston, Pascale Le Gall

Summary: This paper presents an Interaction Language to encode Sequence Diagrams (SD) and associates it with three different formal semantics. This allows for direct formal verification of SD, while preserving traceability of SD concepts and executed actions, and addressing the translation of problematic operators.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

DescribeML: A dataset description tool for machine learning

Joan Giner-Miguelez, Abel Gomez, Jordi Cabot

Summary: Datasets are crucial for training and evaluating machine learning models, but they can also lead to undesirable behaviors like biased predictions. To tackle this issue, the machine learning community suggests adopting consistent guidelines for dataset descriptions. However, these guidelines rely on natural language descriptions, which hinder automated computation and analysis. To overcome this, we present DescribeML, a language engineering tool that provides precise, structured descriptions of machine learning datasets, including their composition, provenance, and social concerns.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

An iterative approach for model-based requirements engineering in large collaborative projects: A detailed experience report

Andrey Sadovykh, Bilal Said, Dragos Truscan, Hugo Bruneliere

Summary: In this paper, the authors report on their 7 years of practical experience with an iterative Model-based Requirements Engineering (MBRE) approach and language in five large European collaborative projects. They demonstrate through significant data sets that this model-based approach provides interesting benefits in terms of scalability, heterogeneity, adaptability, traceability, automation, consistency and quality, and usefulness or usability. Concrete examples from these projects are provided to illustrate the application of the MBRE approach and language, and the authors discuss the general benefits and limitations of using such an approach, as well as the lessons learned over the years.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

Exploring complex models with picto web

Alfa Yohannis, Dimitris Kolovos, Antonio Garcia-Dominguez

Summary: Picto Web is a multi-tenant web-based tool that allows exploration of complex models by transforming them into various transient web-based views using rule-based transformations. It uses a lazy view computation approach to efficiently support large models and complex transformations, and includes monitoring and push notification facilities for automatic recomputation of views and updated delivery to clients.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

GaMoVR: Gamification-based UML learning environment in virtual reality

Enes Yigitbas, Maximilian Schmidt, Antonio Bucchiarone, Sebastian Gottschalk, Gregor Engels

Summary: UML has become a popular modeling language used in computer science courses, and various interactive learning applications have been developed to improve student engagement and learning outcomes. However, these applications have not successfully created immersive environments for students. Therefore, this study introduces GaMoVR, a VR-based and gamified learning environment, which provides an interactive and fun learning experience for students learning about UML modeling.

SCIENCE OF COMPUTER PROGRAMMING (2024)

Article Computer Science, Software Engineering

How accessibility affects other quality attributes of software? A case study of GitHub

Yaxin Zhao, Lina Gong, Wenhua Yang, Yu Zhou

Summary: Accessible design aims to enable as many people as possible to access software products and services. This study investigates the interaction between accessibility issues and other factors affecting software performance. By analyzing a large number of accessibility issues, the study reveals the characteristics of these issues and their relationship with software quality attributes.

SCIENCE OF COMPUTER PROGRAMMING (2024)