Instrumentierung (Softwareentwicklung)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel behandelt die Instrumentierung in der Softwareentwicklung. Zu weiteren Bedeutungen siehe Instrumentierung (Begriffsklärung).

Mit Instrumentierung wird in der Softwareentwicklung das Anreichern des Quellcodes mit Zusatzinformationen bezeichnet, um das Verhalten eines Computerprogramms untersuchen zu können. Instrumentierung kommt bei Softwaretests zur Ermittlung der Testabdeckung und bei Profilern zum Einsatz. Die Instrumentierung kann durch spezielle Programme (Tru64 UNIX atom Kommando) automatisch durchgeführt werden. Auch existieren mittlerweile API Standards wie der Application Response Measurement zur Antwortzeit Messung für Java und C.

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

public boolean istGerade(int zahl) {
  if (zahl % 2 == 0) {
     return true;
  } else {
     return false;
  }
}

Durch Instrumentierung wird Quelltext folgender Form hinzugefügt:

[...]

private void protokolliereIstGeradeBetreten() {
  // Zähler "istGeradeBetreten" in einer Log-Datei hochzählen
  [...]
}

private void protokolliereIfBetreten() {
  // Zähler "ifBetreten" in einer Log-Datei hochzählen
  [...]
}

private void protokolliereElseBetreten() {
  // Zähler "elseBetreten" in einer Log-Datei hochzählen
  [...]
}

[...]

public boolean istGerade(int zahl) {
  protokolliereIstGeradeBetreten();
  if (zahl % 2 == 0) {
     protokolliereIfBetreten();
     return true;
  } else {
     protokolliereElseBetreten();
     return false;
  }
}

Das Programm wird anschließend kompiliert und ausgeführt. Nach der Ausführung kann die Log-Datei ausgewertet und bspw. ermittelt werden, ob alle drei Zähler erhöht wurden.