{"title":"作为补丁的突变体:走向一种正式的突变测试方法","authors":"T. Lewowski, L. Madeyski","doi":"10.2478/fcds-2019-0019","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":42909,"journal":{"name":"Foundations of Computing and Decision Sciences","volume":"44 1","pages":"379 - 405"},"PeriodicalIF":1.8000,"publicationDate":"2019-11-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Mutants as Patches: Towards a formal approach to Mutation Testing\",\"authors\":\"T. Lewowski, L. Madeyski\",\"doi\":\"10.2478/fcds-2019-0019\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"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.\",\"PeriodicalId\":42909,\"journal\":{\"name\":\"Foundations of Computing and Decision Sciences\",\"volume\":\"44 1\",\"pages\":\"379 - 405\"},\"PeriodicalIF\":1.8000,\"publicationDate\":\"2019-11-25\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Foundations of Computing and Decision Sciences\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.2478/fcds-2019-0019\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Foundations of Computing and Decision Sciences","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.2478/fcds-2019-0019","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
Mutants as Patches: Towards a formal approach to Mutation Testing
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.