Affiliation:
1. Telcordia Technologies, 445 South Street, Morristown, NJ
Abstract
Coverage testing techniques, such as statement and decision coverage, play a significant role in improving the quality of software systems. Constructing a thorough set of tests that yield high coverage, however, is often a very tedious, time consuming task. In this paper we present a technique to find a small subset of a program's statements and decisions with the property that covering the subset implies covering the rest. We introduce the notion of a mega block which is a set of basic blocks spanning multiple procedures with the property that one basic block in it is executed iff every basic block in it is executed. We also present an algorithm to construct a data structure called the global dominator graph showing dominator relationships among mega blocks. A tester only needs to create test cases that are aimed at executing one basic block from each of the leaf nodes in this directed acyclic graph. Every other basic block in the program will automatically be covered by the same test set.
Publisher
Association for Computing Machinery (ACM)
Cited by
13 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Set-Covering Approach to Customized Coverage Instrumentation;INFORMS Journal on Computing;2023-10-09
2. Fuzzing Embedded Systems using Debug Interfaces;Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis;2023-07-12
3. Debugger-driven Embedded Fuzzing;2022 IEEE Conference on Software Testing, Verification and Validation (ICST);2022-04
4. Better Late Than Never;Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing;2019-06-17
5. Optimizing Worst-Case Execution Times Using Mainstream Compilers;Proceedings of the 21st International Workshop on Software and Compilers for Embedded Systems;2018-05-28