{"title":"论全路径测试生成的复杂性:从实践到理论","authors":"N. Kosmatov","doi":"10.1109/TAICPART.2009.26","DOIUrl":null,"url":null,"abstract":"Automatic structural testing of programs becomes more and more popularin software engineering. Among the most rigorous structural coverage criteria,all-paths coveragerequires to generate a set of test cases such that every feasible execution path of the program under test is executed by one test case. This article addresses different aspects of computabilityand complexity of constraint-based all-paths test generation forC programs from the practitioner's point of view, and tries to bridge the gap between mathematical theory and practical computation problems arising in this domain. We focus on two particular classes of programs important for practice. We show first that for a class containing the simplest programs with strong restrictions, all-paths test generation in polynomial time is possible.For a wider class of programs in which inputs may beused as array indices (or pointer offsets), all-paths test generation is shown to be NP-hard. Some experimental results illustrating test generation timefor programs of these classes are provided.","PeriodicalId":339626,"journal":{"name":"2009 Testing: Academic and Industrial Conference - Practice and Research Techniques","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-09-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"On Complexity of All-Paths Test Generation: From Practice to Theory\",\"authors\":\"N. Kosmatov\",\"doi\":\"10.1109/TAICPART.2009.26\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Automatic structural testing of programs becomes more and more popularin software engineering. Among the most rigorous structural coverage criteria,all-paths coveragerequires to generate a set of test cases such that every feasible execution path of the program under test is executed by one test case. This article addresses different aspects of computabilityand complexity of constraint-based all-paths test generation forC programs from the practitioner's point of view, and tries to bridge the gap between mathematical theory and practical computation problems arising in this domain. We focus on two particular classes of programs important for practice. We show first that for a class containing the simplest programs with strong restrictions, all-paths test generation in polynomial time is possible.For a wider class of programs in which inputs may beused as array indices (or pointer offsets), all-paths test generation is shown to be NP-hard. Some experimental results illustrating test generation timefor programs of these classes are provided.\",\"PeriodicalId\":339626,\"journal\":{\"name\":\"2009 Testing: Academic and Industrial Conference - Practice and Research Techniques\",\"volume\":\"11 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2009-09-04\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2009 Testing: Academic and Industrial Conference - Practice and Research Techniques\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/TAICPART.2009.26\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 Testing: Academic and Industrial Conference - Practice and Research Techniques","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TAICPART.2009.26","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
On Complexity of All-Paths Test Generation: From Practice to Theory
Automatic structural testing of programs becomes more and more popularin software engineering. Among the most rigorous structural coverage criteria,all-paths coveragerequires to generate a set of test cases such that every feasible execution path of the program under test is executed by one test case. This article addresses different aspects of computabilityand complexity of constraint-based all-paths test generation forC programs from the practitioner's point of view, and tries to bridge the gap between mathematical theory and practical computation problems arising in this domain. We focus on two particular classes of programs important for practice. We show first that for a class containing the simplest programs with strong restrictions, all-paths test generation in polynomial time is possible.For a wider class of programs in which inputs may beused as array indices (or pointer offsets), all-paths test generation is shown to be NP-hard. Some experimental results illustrating test generation timefor programs of these classes are provided.