Information Foraging Theory (IFT)
29.04.2021, 10:27 Uhr
Entwickler als informationshungrige Raubtiere
Forscher haben die Information Foraging Theory (IFT) entwickelt. Sie beschreibt, wie Menschen nach Informationen suchen, sei es im Web, in einem Aktenschrank oder im Quellcode. Die IFT folgt einer Metapher, die von Tieren stammt, die in der Wildnis nach Nahrung suchen.
Die Grundlagen: Eine Person, bekannt als das Raubtier, sucht nach Informationen, bekannt als die Beute, in einer Informationsumgebung, die aus Patches besteht, die Code-Dateien, Programmausgaben, Protokolldaten, ein Stack-Trace, Debugger-Informationen und so weiter sein können. Das Raubtier navigiert innerhalb und zwischen den Patches mit Hilfe von Verknüpfungen (zum Beispiel ein Shortcut, um zur Definition einer Funktion zu springen, oder eine Schaltfläche in einem Menü), die einige Kosten (zum Beispiel Aufwand und Zeit) verursachen, bis die Informationsziele des Raubtiers erfüllt sind.
Das Raubtier versucht immer, die Menge der gewonnenen Informationen im Verhältnis zu den Kosten zu maximieren. Gegeben, dass v der Wert und c die Kosten sind, dann ist die optimale Wahl = max v⁄c.
Das Raubtier kennt jedoch oft weder den Wert noch die Kosten der Nahrungssuche, so dass es Entscheidungen auf der Grundlage seiner eigenen Schätzungen treffen muss. Das wird als ausgewählte Wahl = max E(v)⁄E(c) beschrieben.
Diese Schätzungen des erwarteten Werts und der Kosten basieren auf dem Informationsgeruch, das heißt der wahrgenommenen Chance, relevante Informationen auf der Grundlage von Informationsmerkmalen und Hinweisen zu finden. An jedem beliebigen Punkt folgt der Räuber dem Pfad mit dem höchsten Geruch, um den erwarteten Wert zu maximieren und gleichzeitig die Kosten für die Nahrungssuche zu minimieren.
Mehr zu IFT lesen Sie in diesem Beitrag von Assistant Professor Austin Z. Henley.
Interessante Forschungsergebnisse
In den letzten fünfzehn Jahren wurden mehr als ein Dutzend Studien veröffentlicht, die sich mit IFT im Kontext der Softwareentwicklung befassen. Im Folgenden finden Sie Zusammenfassungen und Links zu einigen der Arbeiten:
- Entwickler überschätzen den Wert und unterschätzen die Kosten von Foraging (der Futtersuche): Etwa 50 Prozent der Navigationen ergaben weniger Informationen als erwartet und 40 Prozent erforderten mehr Aufwand als vorhergesagt (mehr dazu).
- Ein prädiktives Modell, das auf IFT basiert, kann genau vorhersagen, wohin ein Entwickler als nächstes navigieren wird (mehr dazu).
- Entwickler verbringen etwa 50 Prozent ihrer Zeit mit der Suche nach Informationen während der Fehlersuche (mehr dazu).
- Neulinge in der Entwicklung haben erhebliche Schwierigkeiten zwischen verschiedenen Versionen desselben Codes zu suchen (mehr dazu).
- Das Suchverhalten unterscheidet sich drastisch, je nachdem, ob der Entwickler versucht, den Code zu verstehen oder einen Fehler zu beheben (mehr dazu).
Aus diesen Studien ergeben sich unzählige Implikationen für Entwicklungswerkzeuge. Austin Z. Henley hat mit "Navigate your code like it's 2021" einen ausführlichen Text zu diesem Thema veröffentlicht.