{"title":"时间敏感系统中代码覆盖的迭代检测","authors":"Tosapon Pankumhang, M. Rutherford","doi":"10.1109/ICST.2015.7102594","DOIUrl":null,"url":null,"abstract":"In software testing, runtime code coverage is usually measured by instrumenting the executable code. In most cases the effect of the additional instructions is negligible, but for time-sensitive systems it can potentially alter the timing of executing code. This may lead to inconsistent test results, as the tests behave differently when run against non-instrumented code. In this paper, we discuss traditional code coverage techniques (i.e. instrumentation) and our code coverage technique called \"iterative instrumentation\" which has no runtime overhead. We analyze the impact of instrumentation runtime overhead through a case study of heuristic pathfinders. Next, we compare the effectiveness of iterative instrumentation to traditional instrumentation for measuring code coverage on a case study of control software. Finally, we discuss possible techniques to improve the quality of our technique including the limitations of this paper. Our studies confirm that instrumentation runtime overhead can alter the timing of time-sensitive software systems while our technique can be used effectively with no runtime overhead.","PeriodicalId":401414,"journal":{"name":"2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST)","volume":"332 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-04-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"Iterative Instrumentation for Code Coverage in Time-Sensitive Systems\",\"authors\":\"Tosapon Pankumhang, M. Rutherford\",\"doi\":\"10.1109/ICST.2015.7102594\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In software testing, runtime code coverage is usually measured by instrumenting the executable code. In most cases the effect of the additional instructions is negligible, but for time-sensitive systems it can potentially alter the timing of executing code. This may lead to inconsistent test results, as the tests behave differently when run against non-instrumented code. In this paper, we discuss traditional code coverage techniques (i.e. instrumentation) and our code coverage technique called \\\"iterative instrumentation\\\" which has no runtime overhead. We analyze the impact of instrumentation runtime overhead through a case study of heuristic pathfinders. Next, we compare the effectiveness of iterative instrumentation to traditional instrumentation for measuring code coverage on a case study of control software. Finally, we discuss possible techniques to improve the quality of our technique including the limitations of this paper. Our studies confirm that instrumentation runtime overhead can alter the timing of time-sensitive software systems while our technique can be used effectively with no runtime overhead.\",\"PeriodicalId\":401414,\"journal\":{\"name\":\"2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST)\",\"volume\":\"332 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2015-04-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICST.2015.7102594\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICST.2015.7102594","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Iterative Instrumentation for Code Coverage in Time-Sensitive Systems
In software testing, runtime code coverage is usually measured by instrumenting the executable code. In most cases the effect of the additional instructions is negligible, but for time-sensitive systems it can potentially alter the timing of executing code. This may lead to inconsistent test results, as the tests behave differently when run against non-instrumented code. In this paper, we discuss traditional code coverage techniques (i.e. instrumentation) and our code coverage technique called "iterative instrumentation" which has no runtime overhead. We analyze the impact of instrumentation runtime overhead through a case study of heuristic pathfinders. Next, we compare the effectiveness of iterative instrumentation to traditional instrumentation for measuring code coverage on a case study of control software. Finally, we discuss possible techniques to improve the quality of our technique including the limitations of this paper. Our studies confirm that instrumentation runtime overhead can alter the timing of time-sensitive software systems while our technique can be used effectively with no runtime overhead.