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.
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.