Demand-driven structural testing with dynamic instrumentation
Producing reliable and robust software has become one of the most important software development concerns. Testing is a process by which software quality can be assured through the collection of information. While testing can improve software reliability, current tools typically are inflexible and h...
Saved in:
Published in | Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005 pp. 156 - 165 |
---|---|
Main Authors | , , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
2005
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Producing reliable and robust software has become one of the most important software development concerns. Testing is a process by which software quality can be assured through the collection of information. While testing can improve software reliability, current tools typically are inflexible and have high overheads, making it challenging to test large software projects. In this paper, we describe a new scalable and flexible framework for testing programs with a novel demand-driven approach based on execution paths to implement test coverage. This technique uses dynamic instrumentation on the binary code that can be inserted and removed on-the-fly to keep performance and memory overheads low. We describe and evaluate implementations of the framework for branch, node and def-use testing of Java programs. Experimental results for branch testing show that our approach has, on average, a 1.6 speed up over static instrumentation and also uses less memory. |
---|---|
ISBN: | 1595939632 |
ISSN: | 0270-5257 1558-1225 |
DOI: | 10.1109/ICSE.2005.1553558 |