Demand-driven structural testing with dynamic instrumentation

  • Authors:
  • Jonathan Misurda;James A. Clause;Juliya L. Reed;Bruce R. Childers;Mary Lou Soffa

  • Affiliations:
  • University of Pittsburgh, Pittsburgh, Pennsylvania;University of Pittsburgh, Pittsburgh, Pennsylvania;University of Pittsburgh, Pittsburgh, Pennsylvania;University of Pittsburgh, Pittsburgh, Pennsylvania;University of Virginia, Charlottesville, Virginia

  • Venue:
  • Proceedings of the 27th international conference on Software engineering
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Producing reliable and robust software has become one of the most important software development concerns in recent years. 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 over-heads, 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 defuse 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.