Modell

Auf Basis der theoretischen Grundlagen wurde ein Modell entwickelt, welches den Prozess zur konkreten Durchführung von kritischer Codeanalyse aus geisteswissenschaftlicher Perspektive schematisch darstellt.

Prozess zur Durchführung von Critical Code Studies

Code, Daten und Workflow

Eine Grundbedingung für die Durchführung von Critical Code Studies besteht darin, dass sämtlicher verwendeter Code, Daten und Analyseworkflows frei zugänglich veröffentlicht werden. Sie stellen die Basis für die folgende Analyse des Codes dar.

Übertragung in Jupyter

Sämtlicher vorhandener Code muss zunächst in ein Jupyter Notebook übertragen werden. Dabei wird in den meisten Fällen Code aus verschiedenen Dokumenten in einem Dokument zusammengeführt. Der Fokus in diesem Schritt liegt darauf, den Code in der Juypter-Umgebung ausführbar zu machen.
Details zu Jupyter werden bei den technischen Grundlagen erklärt.

Semantische Analyse und Defactoring

Die semantische Analyse und das Defactoring bilden den wichtigsten Teil der Codeanalyse. Beides findet in einem iterativen Ablauf statt. Die semantische Analyse bezeichnet die Betrachtung der Bedeutung von Codeelementen für Menschen. Das betrifft vor allem Kommentare und Variablennamen, deren Benennung für den Computer keine Bedeutung haben. Das Defactoring bezeichnet die Umstrukturierung und Kontextualisierung des Codes. Dabei wird der Code in Zellen aufgeteilt und durch erklärenden Text ergänzt. Dadurch soll sich ein zusammenhängendes Narrativ ergeben, welches die Funktionsweise des Codes für Menschen nachvollziehbar macht.
Die Strukturierung kann durch semantische Zusammenhänge beeinflusst werden. Umgekehrt können durch die Umstrukturierung neue semantische Muster deutlich werden. Darum hängen beide Prozessschritte eng miteinander zusammen.

Publikation

Die Codeanalyse ist bei diesem Schritt bereits abgeschlossen. Das Ziel der Publikation ist es, das Notebook online zur Verfügung zu stellen und es gleichzeitig systemunabhängig ausfürbar zu machen. Zusätzlich soll das Notebook zitierbar sein. Dafür wird eine Pipeline von weiteren Diensten genutzt: Github, Binder und Zenodo (näher beschrieben in den technologischen Grundlagen). Damit kann das Notebook mit einem DOI versehen und ausführbar geteilt werden.

Ausführ- und zitierbares Narrativ

Wenn alle Schritte des Prozessmodells durchgeführt wurden, kann das Notebook beliebig geteilt, zitiert und ausgeführt werden. Auf diese Weise können die Ergebnisse der Originalstudie jederzeit reproduziert werden. Gleichzeitig ist die Interpretation des Codes im gleichen Dokument verfügbar.

Das hier beschriebene Modell wurde am Bespiel des Codes zur Studie “The Michael Jordan of greatness”. Extracting Vossian antonomasia from two decades of The New York Times, 1987-2007 von Fischer und Jäschke 2019 angewandt. Der Code zur Studie ist frei auf Github verfügbar.
Leider ist eine Veröffentlichung des erzeugten Notebooks wegen fehlender Lizenzen für die dabei verwendeten Daten nicht möglich.