This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (December 2013) (Learn how and when to remove this message)

In computer programming, instrumentation is the act of modifying software so that analysis can be performed on it.

Generally, instrumentation either modifies source code or binary code.

Instrumentation enables profiling: [1] measuring dynamic behavior during a test run. This is useful for properties of a program that cannot be analyzed statically with sufficient precision, such as performance and alias analysis.

Instrumentation can include:

Limitations

Instrumentation is limited by execution coverage. If the program never reaches a particular point of execution, then instrumentation at that point collects no data. For instance, if a word processor application is instrumented, but the user never activates the print feature, then the instrumentation can say nothing about the routines which are used exclusively by the printing feature.

Some types of instrumentation may cause a dramatic increase in execution time. This can limit the application of instrumentation to debugging contexts.

See also

References

  1. ^ "Commenting, Testing, and Instrumenting Code". January 3, 2011. Retrieved January 29, 2014.
  2. ^ Source Code Instrumentation Overview at IBM website