Bereits seit März diesen Jahres ist Stephan Druskat Doktorand in der Abteilung für Intelligente und Verteilte Systeme der Einrichtung Simulations- und Softwaretechnik des DLR. In seiner Promotionsarbeit erforscht er den messbaren Einfluss von Software-Abhängigkeiten auf Forschungssoftware. Ein Interview.
Stephan, was ist das Thema deiner Promotion?
Ich forsche im Software Engineering und in den Informationswissenschaften. Insbesondere versuche ich in mehreren aufeinander aufbauenden Schritten herauszufinden, ob man den „Einfluss“ von Software-Abhängigkeiten von Forschungssoftware – also Softwarepaketen, die in Forschungssoftware wiederverwendet werden – bestimmen kann. Ziel dabei ist es, diese Information in einem besseren System für die Zuweisung akademischen Ansehens zu verwenden, sprich einem besseren Zitationssystem. Forschungssoftware spielt im jetzigen System nämlich trotz der schon enormen und weiter steigenden Rolle von Software für die Forschung noch keine echte Rolle. Software bleibt in diesem System oft unsichtbar, z.B., weil sie nicht ausreichend zitierfähig gemacht wird, oder weil sie nicht korrekt zitiert wird; auch, weil das Zitationssystem für Papers und Bücher gemacht wurde und Software nicht gut abbilden kann.
Womit beschäftigst du dich genau?
Um den Einfluss von Software auf Forschung besser sichtbar zu machen muss man das Zitationssystem also verbessern und anpassen. Gleichzeitig sollte man dafür Sorge tragen, dass die Rolle von nicht-traditionellen Forschungsprodukten (Software, Daten, etc.) besser sichtbar gemacht wird. Ein System, dass sich dafür anbietet ist „Transitive Credit“, bei dem alle Kontributionen zu einem Forschungsprodukt (Paper, Software, etc.) gewichtet werden. Diese Gewichtung will ich für Softwareabhängigkeiten entwickeln. Dafür muss ich für meinen Datensatz, alle Forschungssoftware die in Python geschrieben wurde, aber erstmal herausfinden, wie man Softwareprojekte automatisch als Forschungssoftware klassifizieren kann. Dafür nutze ich Methoden aus den Informationswissenschaften, v.a. Repository Mining. Für den Datensatz entwickle ich dann Algorithmen, mit denen man den „Anteil“ einer Abhängigkeit an einer Forschungssoftware herausfinden kann. Das ist der Software Engineering Hauptteil der Dissertation, da geht es dann um mögliche Ausführungspfade, Aufruffrequenzen und Komplexitätsmetriken für Source Code.
Bei Gelingen kann ich dann am Ende sagen: Abhängigkeit X hat 0,3 oder 0,03 Anteil im Bereich der Komplexität an einer bestimmten Forschungssoftware. Findet das Eingang in die Metadaten von Forschungsprodukten lässt sich dann sehr leicht über Zitationsgraphen herausfinden, wie wichtig Software für die Forschung ist und welche Projekte, z.B. trotz ihrer Wichtigkeit gefährdet sind und mehr Förderung brauchen.
Bei deiner Promotion sind drei Parteien involviert. Wie funktioniert die Kommunikation und Vereinbarung deiner Promotion zwischen dem DLR, der Humboldt Universität und der Universität von Illinois? Wie kam es zu dieser Konstellation?
Ich bewege mich seit einigen Jahren mit meiner Forschung im Bereich Softwarenachhaltigkeit und das Thema ist mir quasi zugeflogen, seitdem ich ein Metadatenformat für Softwarezitation entwickelt habe und Teil der FORCE11 Software Citation Implementation Working Group bin. Die Idee, zu diesem Thema auch zu promovieren lag also sowieso nahe und ich habe mir dann „einfach“ Betreuer_innen gesucht, die gewillt sind, dieses aus traditioneller Sicht doch etwas abseitige Thema zu unterstützen. Prof. Daniel S. Katz, Assistant Director für Scientific Software & Applications am National Center for Supercomputing Applications in Illinois, war sofort bereit mich zu betreuen, da er selbst in diesem Bereich forscht und wir auch in anderen Bereichen zusammenarbeiten. Auch Prof. Vivien Petras vom Institut für Bibliotheks- und Informationswissenschaften der HU Berlin war von Anfang an dabei, da sie einerseits das Thema wichtig findet und die Arbeit auch einen informationswissenschaftlichen Anteil hat. Etwas schwieriger war es, das Thema an die Informatik zu koppeln, einerseits, weil ich eigentlich Anglist bin, zum anderen, weil der informatische Anteil im Hinblick auf die Software Engineering-Forschung noch geschärft werden musste. Daher bin ich sehr dankbar, dass Lars Grunske, Professor für Software Engineering am Institut für Informatik der HU Berlin, so mutig ist, mich und das Thema zu unterstützen und diese Schärfung gemeinsam vorzunehmen. Zum DLR später, es ist aber zu sagen, dass ich hier mit diesem Thema nicht nur mit offenen Armen empfangen wurde, sondern von Andreas Schreiber und Carina Haupt auch maximal unterstützt werde. Sie geben mir die Freiheit, Thema sowie die notwendigen Methoden und Arbeitsschritte selbst zu entwickeln und auch die Kommunikation zwischen den Beteiligten zu organisieren. Das ist nicht selbstverständlich, aber eigentlich essentiell für experimentelle Forschung.
Was begeistert dich an diesem Themengebiet besonders?
Vieles! Zum einen, dass ich eine Lösung entwickeln kann, die den notwendigen Kulturwandel unterstützt, Software – und die Personen die sie entwickeln - endlich als zentralen Baustein moderner Forschung anzuerkennen. Nachvollziehbarkeit von Abhängigkeiten von Software zu Software, aber auch von anderen Forschungsprodukten zu Software, ist auch essentiell für die Reproduzierbarkeit von Forschungsergebnissen, die ja seit einiger Zeit zu Recht besonders im Fokus liegt. Zum anderen kann ich selbst viel lernen, z.B. über Information Retrieval, Machine Learning und Software Engineering. Außerdem ist da noch die allgemeine Freude am Experiment und den Methoden; Ins Besondere als (ehemaliger) Geisteswissenschaftler ist es auch in Zeiten der Digital Humanities nicht selbstverständlich, Container zu bauen und auf HPC-Systemen zu rechnen, das macht einfach Spaß.
Wo siehst du zukünftige Forschungsmöglichkeiten?
Ich hoffe, dass ich zum einen mit dem informationswissenschaftlichen Anteil meiner Arbeit zu einer verbesserten Klassifikation von Software Repositories beitragen kann, auf der zukünftige Forschung aufbauen kann. Der mir wichtigere Anteil ist jedoch das Software Engineering. Hier ist ins Besondere was Softwareanalyse und Metriken angeht noch einiges zu tun, auch, was qualitative Ansätze angeht. Eine konkrete interessante Forschungsfrage die ich gern nach meiner Promotion angehen würde ist die Einbettung meiner Arbeit in bestehende softwareanalytische Verfahren, zum Beispiel für Architekturbeschreibungen und –Visualisierungen. Die andere ist das Übertragen der von mir zu entwickelnden Methoden auf andere Programmiersprachen und die Ausweitung auf Entwicklungsmodelle, wie z.B. Forking.
Wie bist du zum DLR gekommen? Was hat dich auf das DLR aufmerksam gemacht?
Zum DLR gekommen bin ich durch Carina Haupt (Gruppenleiterin Software Engineering) und Tobias Schlauch (Software Engineering-Beauftragter des DLR). Die beiden haben auf einem Workshop zu Softwarenachhaltigkeit gesprochen, den ich 2016 in Manchester organisiert habe. In der Folge haben wir uns regelmäßig auf ähnlichen internationalen Veranstaltungen getroffen und sind im Gespräch geblieben. Das hat schließlich dazu geführt, dass Carina und Andreas Schreiber (Abteilungsleiter für Intelligente und Verteile Systeme) mich zu einem Gespräch eingeladen haben, in dem wir festgestellt haben, dass ich als Doktorand beim DLR anfangen sollte. Es hat einfach alles gepasst. Abgesehen davon, dass meine Kinder begeistert davon sind, dass ich jetzt „in der Raumfahrt“ arbeite – mein jüngster Sohn war einige Zeit davon überzeugt, dass mein Büro in einem Raumschiff läge – bietet die Doktorandenstelle beim DLR einfach beste Voraussetzungen. Hier kann ich mich wirklich auf meine Forschung konzentrieren. Außerdem ist die Infrastruktur viel besser, als ich es beispielsweise aus der Uni kenne, wo ich in Drittmittelprojekten gearbeitet habe. Und mit meinem lokalen Team sowie der gesamten Software Engineering-Gruppe habe ich einfach ein Umfeld, das nicht nur große Expertise in verschiedenen Gebieten hat, sondern auch offen und kollaborativ damit umgeht. Zugleich nimmt die Software Engineering-Gruppe in Deutschland eine prominente Rolle im Spitzenfeld ein, was Bewusstsein, Theorie und Umsetzung von Maßnahmen für nachhaltigere Forschungssoftware angeht.