Instrumentierung (Softwareentwicklung)
# Instrumentierung (Softwareentwicklung)

Mit Instrumentierung wird in der Softwaretechnik das Ergänzen von Computerprogrammen mit speziellem Code bezeichnet, um ihr Verhalten untersuchen zu können. Dieser kann in den Quellcode, den Binärcode oder einen Zwischencode eingefügt und mit Hilfe von Werkzeugen ausgewertet werden. Instrumentierung kommt bei Softwaretests zur Ermittlung der Testabdeckung und bei Profilern zum Einsatz. Die Instrumentierung kann dabei sowohl halbautomatisch (GNU C/C++ Compiler -finstrument-functions) als auch durch spezielle Programme (Tru64 UNIX atom, Pin für x64-Architekturen) automatisch durchgeführt werden. Es gibt dabei statische, dynamische und hybride Ansätze mit je unterschiedlichen Vor- und Nachteilen. Auch existieren Programmierschnittstellen-Standards wie das Application Response Measurement zur Antwortzeit-Messung für Java und C.

## Manuelle Instrumentierung

Zur Veranschaulichung ein Quelltext-Ausschnitt in der Programmiersprache Java vor und nach der Instrumentierung.

Durch Instrumentierung wird Quelltext folgender Form hinzugefügt:

Das Programm wird anschließend ausgeführt. Danach kann die Log-Datei ausgewertet und beispielsweise ermittelt werden, ob alle drei Zähler erhöht wurden.

