scholarly journals Mutants as Patches: Towards a formal approach to Mutation Testing

2019 ◽  
Vol 44 (4) ◽  
pp. 379-405
Author(s):  
Tomasz Lewowski ◽  
Lech Madeyski

Abstract Background: Mutation testing is a widely explored technique used to evaluate the quality of software tests, but little attention has been given to its mathematical foundations. Aim: We provide a formal description of the core concepts in mutation testing, relations between them and conclusions that can be drawn from the presented model. Method: We introduce concepts of mutant space and patch space, and refer to patch merging procedure from the patch theory. We explicitly present constraints, such as location-dependence, that affect mutation operators. We also present a way to use introduced formalism with traditional operators proposed in other papers. Results: The proposed formalism allows to describe interactions between separate mutations using well-known abstract algebra notation. Conclusion: The presented formalism may substantially decrease the number of tested weak mutants and increase the number of valuable ones, while giving tools to partially address the problem of equivalent mutants, particularly for higher-order mutation testing. However, additional empirical evaluation is still needed.

Author(s):  
Pedro Delgado-Pérez ◽  
Inmaculada Medina-Bulo ◽  
Juan José Domínguez-Jiménez

Mutation testing is a suitable technique to determine the quality of test suites designed for a certain program. The set of mutation operators and the overall technique should be developed around each programming language in particular. The structures related to the object-oriented paradigm require a tailored analysis addressing them. However, class mutation operators for these languages have not been analyzed at the same extent as traditional operators for procedural languages in the literature. The purpose of the chapter is to look in depth at the development and the current state of mutation testing, and more specifically, with regard to object-oriented programming languages.


Author(s):  
Pedro Delgado-Pérez ◽  
Inmaculada Medina-Bulo ◽  
Juan José Domínguez-Jiménez

Mutation testing is a suitable technique to determine the quality of test suites designed for a certain program. The set of mutation operators and the overall technique should be developed around each programming language in particular. The structures related to the object-oriented paradigm require a tailored analysis addressing them. However, class mutation operators for these languages have not been analyzed at the same extent as traditional operators for procedural languages in the literature. The purpose of the chapter is to look in depth at the development and the current state of mutation testing, and more specifically, with regard to object-oriented programming languages.


Author(s):  
Lai Zee Wei ◽  
Wei Hsum Yap

Educators are facing the challenge of selecting appropriate tools that ensure positive learning outcomes and quality of learning compared to traditional classroom settings. Role-playing simulation is an exciting and motivating tool for engaging students in the activities that are to be presented in the classroom. This study aimed to demonstrate that role-playing simulation activities are a unique and creative tool in science-based modules and how to deploy this student-centred approach that empowers students to take learning into their own hands and apply it in an engaging context. Two science-based modules are selected for implementation of role-play and simulation activities. In these activities, students take on different roles, assuming the profile of a character or personality, to interact and participate in diverse and complex learning settings. Overall, student feedback was positive. Students can apply what they have learnt, create new connections, and reinforce the core concepts by putting them into practice in a fun and engaging context.


Author(s):  
YING JIANG ◽  
SHAN-SHAN HOU ◽  
JIN-HUI SHAN ◽  
LU ZHANG ◽  
BING XIE

Component Based Software Development (CBSD) is gaining popularity in recent years. In this way of software development, software components, which are typically black-box components, are intensively reused to construct new systems. To ensure the quality of software systems composed of black-box components, a primary concern is how to ensure the quality of black-box components. Thus, adequate testing of those black-box components that will be reused is a necessary step in CBSD. However, due to the unavailability of the source code of black-box components, ensuring test adequacy becomes one of the hardest issues for testing black-box components. To tackle this problem, it is a natural idea to apply mutation testing, which is a fault-based testing method used for measuring test adequacy, for component contracts, whose aim is to improve the testability of the component. Though powerful, mutation testing is usually very computation-expensive, as many mutants need to be produced and executed in mutation testing. In this paper, we propose a contract-based mutation technique for testing black-box components. Based on the discordance between contracts and specification, our approach employs a set of high level contract mutation operators. The experimental results show that these operators can greatly reduce the number of mutants compared with traditional mutation operators. At the same time, the contract-based mutation using our contract mutation operators can provide almost the same ability as that of using traditional mutation operators. Therefore, our approach can produce effective test suites to reduce the cost of testing black-box components.


2021 ◽  
Vol 1 (4) ◽  
pp. 298-312
Author(s):  
Dong Qiu ◽  
◽  
Tingyi Liu ◽  

<abstract> <p>The number and field of researches on the application of Multi-Indicator Comprehensive Evaluation (MICE) are increasing. It is important to reflect on the understanding of the MICE method systematically and the issues implied behind it. This paper compares the core concepts and methodological elements of the three papers that systematically study the MICE method. It is found that the views of the three papers on the core issue are consistent and mutually supportive, but there are differences in the step division and sequence of the evaluation content. In addition, this paper considers the historical status of the MICE and holds that the key to solving the quality of weight lies in the "equivalent conversion" problem in the MICE. Taking the Human Development Index as an example, this paper illustrates the absoluteness of the "equivalent conversion" relationship. In addition, there are multiple processing methods for the MICE from the spatial dimension and multiple evaluation results accordingly, therefore, the results of the MICE need to be used carefully. Finally, based on the systematic summary and reflection of the MICE method, three suggestions are given for the application of the MICE method.</p> </abstract>


2013 ◽  
Vol 347-350 ◽  
pp. 491-495
Author(s):  
Fang Wang ◽  
Ri Na Wu ◽  
Shu Fang Lee ◽  
Tian Hua Zheng

Software testing is an important technology used to assure the quality of software. The design of test data is very important, which determines the testing effect in the software testing. Existing design approach to test data cant simulate the fault in software run-environment systematically. Mutation testing is an effective software testing method, which can simulate software defects systematically. Using mutation testing for reference, this paper proposes an approach to mutation-based test data generation. By analyzing the demands of test data, such as coverage rate, fault simulation, we design a series of data mutation operators, which can accomplish design of test data systematically. Experiments are carried out on the supporting tool to validate the effectiveness of this approach.


2008 ◽  
Author(s):  
Christopher Layne ◽  
Abigail Gewirtz ◽  
Chandra Ghosh Ippen ◽  
Renee Dominguez ◽  
Robert Abramovitz ◽  
...  
Keyword(s):  
The Core ◽  

Author(s):  
Mark Oprenko

The definition of the multimorbidity concept reveals insufficient specificity of the comorbidity and multimorbidity definitions and, as a result, confusion in the use of these terms. Most authors are unanimous that the “core” of multimorbidity is presence of more than one disease in a patient. These coexisting diseases can be pathogenetically interconnected and non-interconnected. Regardless, the degree of multimorbidity always affects prognosis and quality of life.


Sign in / Sign up

Export Citation Format

Share Document