Title :
Prioritize code for testing to improve code coverage of complex software
Author_Institution :
Avaya Labs Res., Basking Ridge, NJ
Abstract :
Code prioritization for testing promises to achieve the maximum testing coverage with the least cost. This paper presents an innovative method to provide hints on which part of code should be tested first to achieve best code coverage. This method claims two major contributions. First it takes into account a "global view" of the execution of a program being tested, by considering the impact of calling relationship among methods/functions of complex software. It then relaxes the "guaranteed" condition of traditional dominator analysis to be "at least" relationship among dominating nodes, which makes dominator calculation much simpler without losing its accuracy. It also then expands this modified dominator analysis to include global impact of code coverage, i.e. the coverage of the entire software other than just the current function. We implemented two versions of code prioritization methods, one based on original dominator analysis and the other on relaxed dominator analysis with global view. Our comparison study shows that the latter is consistently better in terms of identifying code for testing to increase code coverage
Keywords :
partial evaluation (compilers); program diagnostics; program testing; code coverage; code prioritization; dominating nodes; program execution; relaxed dominator analysis; software testing; Area measurement; Costs; Frequency; Guidelines; History; Programming; Software design; Software engineering; Software reliability; Software testing; Testing; code coverage; coverage priority; dominator analysis;
Conference_Titel :
Software Reliability Engineering, 2005. ISSRE 2005. 16th IEEE International Symposium on
Conference_Location :
Chicago, IL
Print_ISBN :
0-7695-2482-6
DOI :
10.1109/ISSRE.2005.33