Research Software Engineering

Research Software Engineering

Modellansatz 208
1 Stunde 59 Minuten
Podcast
Podcaster

Beschreibung

vor 5 Jahren

Vom 30. Mai - 2. Juni 2019 fand im ZKM und in der Hochschule für
Gestaltung (HfG) die GPN19 statt. Dort traf Sebastian auf Carina
Haupt, die schon auf der GPN18 von der öffentlich finanzierten
Wissenschaft forderte: Publish Your Research!


Carina Haupt studierte Informatik an der Hochschule
Bonn-Rhein-Sieg. Aktuell befasst Sie sich wissenschaftlich mit
Forschungssoftware, die meist von Wissenschaftlerinnen und
Wissenschaftlern nur geringfügiger Kenntnis von Softwaretechnik
oder unter Aspekten von Nachhaltigkeit entwickelt wird, da die
Software nur als Mittel zum Zweck gesehen wird. Ziel der
Wissenschaftlerinnen und Wissenschaftlern ist es schließlich
Forschung zu betreiben und nicht Software zu entwickeln.


Dabei zeigt die anhaltende Replication Crisis, die darin besteht,
dass etliche publizierte wissenschaftliche Arbeiten nicht
reproduzierbar sind, und somit alle abgeleiteten Arbeiten auf
unsicheren Füßen stehen und eigentlich unter den geänderten
Voraussetzungen wiederholt werden müssten.


Eine Herausforderung ist, dass für viele Forschende, wie
beispielsweise in der Mathematik, oft die Software nur zur
Verifikation der eigentlichen wissenschaftlichen Aussagen
verwendet wird, und daher eine deutlich geringere Wertschätzung
erfährt. Auch wird ein Reputationsverlust befürchtet, wenn die
Softwarequalität nicht den Ansprüchen im Kernbereich der
Forschung entspricht, so dass oft von einer veröffentlichung des
Source Codes und der Daten abgesehen wird. Dabei muss die
Offenlegung der verwendeten Verfahren und Daten ein Grundanliegen
ernsthafter Forschung sein und eine Kennzeichnung von Software
beispielsweise als Proof-of-Concept sollte einen angemessenen
Anspruch an die Software sicherstellen.


Am Deutschen Zentrum für Luft- und Raumfahrt (DLR), leitet Carina
eine Gruppe zum Software Engineering und ist dort mit ihren
Kolleginnen und Kollegen für 40 Institute an 20 Standorten
Ansprech- und Kooperationspartnerin für Softwareentwicklung unter
anderem im wissenschaftlichen Umfeld von Luft- und Raumfahrt,
Energie und Verkehr. Inzwischen ist dort ihr Enthusiasmus für
Open Source, und Forschenden in der Softwareentwicklung zu
unterstützen, zu ihrem eigenen Forschungsgebiet geworden.


Bevor sie zum DLR kam, war sie beim Fraunhofer-Institut für
Algorithmen und Wissenschaftliches Rechnen (SCAI) im Bereich der
Bioinformatik und dem Semantic Web, sowie in der Industrie und
nebenberuflich bei der Froscon tätig, bis sie dem Ruf von Andreas
Schreiber in ihre aktuelle Gruppe folgte.


Um Außenstehenden einen schnellen und sehr unterhaltsamen
Einstieg in und wichtige Motivation für das Software Engineering
bei der DLR zu bieten, hat sie auf der GPN18 einen Vortrag
Software-Fehler in der Raumfahrt: Disintegrating Rockets mit
großem Anklang gehalten.


Aber kann die Publikation von Forschungsdaten bei Auswirkungen
der Replikationskrise wie der Analyse, dass über die Hälfte von
Psychologiepapern nicht nachvollzogen werden können, helfen? Auf
jeden Fall hätte die Veröffentlichung schon frühere Diskussionen
und Verbesserungen der Ergebnisse ermöglicht, da abgeleitete
Arbeiten statt der geschriebenen Darstellung auf den echten Daten
ihre erweiterten Analysen hätten durchführen können.


Soweit die Theorie, praktisch muss man sich eingehend damit
befassen, was genau erforderlich ist, um eine Reproduzierbarkeit
schon auf Seiten der Daten und Software zu ermöglichen. Das
Befassen mit diesen Themen führt von einer Erstellung einer
Publikation zum Begriff der Open Science oder offener
Wissenschaft, die unter anderem Open Access, Open Data als auch
Open Source betrifft. Hier konzentriert sich Carina in ihrer
Forschung besonders auf den letzten Teil, insbesondere wie
Erkenntnisse aus der Softwaretechnik dazu beitragen können, dem
großen Ziel der Reproduzierbarkeit auch über die Zeit hinweg
zumindest näher zu kommen.


Wichtig ist auch den Entstehensprozess von Software zu
betrachten. Die Fernseh-Show Bares für Rares demonstriert, wie
die Wertigkeit eines Objekts durch eine nachgewiesene Herkunft
signifikant beeinflusst wird. Dies erfolgt durch Nachweis der
sogenannten Provenience. Der Begriff Provenience bedeutet die
Aufzeichnung der Geschichte der Entstehung eines Objektes. Dies
läßt sich auf Software übertragen. Die Wertigkeit und Qualität
von einer Software-Publikation könnte zum Beispiel dadruch
evaluiert werden indem der Build- und Entwicklungsprozess
aufgezeichnet, und mit dem PROV W3C-Standards dokumentiert.


Neben der Dokumentation liegt der nächste Schritt für
reproduzierbare Software (vgl. E. Heitlinger: Reproduzierbarkeit
– Wissenschaftliche Arbeit als Software-Projekt) darin, die
erforderlichen zusätzlichen Bestandteile auch zur Verfügung zu
stellen. Die nachhaltige Softwareentwicklung befasst sich in
besonderem Maße damit, dass die Software von anderen sowohl
genutzt als auch in Zukunft weiterentwickelt werden kann.
Natürlich sollten wissenschaftliche Veröffentlichungen
grundsätzlich die Wissensgewinnung und Validierung genau
beschreiben, nur ist dies im gängigen Rahmen und Form normaler
Publikationsformen weder in Form noch im Umfang abzubilden. Daher
fordern viele Journals und Konferenzen, die Daten und Methoden in
der Form von ausführbaren, web-basierten Jupyter Notebooks zur
Verfügung zu stellen.


Ein neuer Ansatz ist eine "Software Zitierbarkeit" zu
ermöglichen, also sowohl die Form mit Weblinks und Versionierung,
also auch mit Infrastruktur wie dem Dienst Zenodo, das einen
Digital Object Indentifier (DOI) für Software mit einem
Langzeitarchiv bereitstellt. Das ist ein Service, der in etwas
weniger spezialisierter Form für unterschiedliche Medien auch von
vielen Hochschulbibliotheken angeboten wird.


Am DLR widmet sich die Software Engineering Initiative mit vielen
Ansätzen, um Forschenden zu helfen nachhaltige Software zu
entwickeln. Ein wichtiger Bestandteil sind hier Trainings, wie
beispielsweise Repositories verwendet werden sollten:
Hinweise für sinnvolle Commit-Messages verwenden. Wie sollten
Versionen vergeben werden? Neben den eigentlichen Sourcen sollte
auch der Build-Prozess und Testdaten im Repository sein Sinnvolle
Struktur von Dateibäumen und sprechende Bennenung von Dateien Jedes
Repository sollte eine README-Datei haben, die am Anfang kurz die
Funktion der Sourcen beschreibt und in welchem Scope und in welchen
Constraints die Ziele erreicht werden sollen, wie sie installiert,
ausgeführt und getestet wird und wie sollte die Software zitiert
werden? Unter welcher Lizenz steht die Software?

Unterstützung gibt es auch durch zentrale Infrastruktur, die vom
DLR beispielsweise durch eine eigene GitLab bald zur Verfügung
stehen wird, und allen Forschenden einen eigenen persönlichen
Bereich anbieten, sowie Projekten sofort entsprechende Strukturen
bereitstellen.


Die im Gespräch erwähnte SHA1-Kollision Shattered hatte einen
Stillstand der für mehrere Browser grundlegende
WebKit-Entwicklung zur Folge, da deren Subversion-Repository
nicht mit der Hash-Kollision zurecht gekommen ist.


Es gibt vielseitige Motivationsgründe für Forschende die
Unterstützung der Software Engineering Initiative anzunehmen:
Entweder sind sie aus einem füngeren universitären Umfeld schon
mit der Thematik vertraut, oder haben Probleme durch fehlene
Softwarequalität schon kennengelernt, lassen sich von Beispielen
überzeugen oder Qualitätsanforderungen überreden, oder es wird
ihnen durch Vorgesetzte nahe gelegt.


Ein Mittel zur Motivation sind insbesondere die am DLR
entwickelten Software Engineering Guidelines, die Kolleginnen und
Kollegen zur Verfügung gestellt werden können. Darin sind sowohl
Begründungen für das Vorgehen, aber auch einfach zur verfolgende
Entscheidungsbäume und Checklisten, die je nach Größe und
Kritikalität von Projekt unterschiedlich aufwendige Empfehlungen
vorschlagen. Dies kann von einer TODO-Datei bis zur Integration
eines vollständigen Issue-Tracker gehen, der in der höchsten
Qualitätsstufe auch mit dem kompletten Code-Management integriert
werden sollte. Diese Guidelines sind am DLR in eine
Qualitätsinitiative integriert, bei der in jedem Institut ein
Qualitätsbeauftragter oder eine Qualitätsbeauftragte zumindest
erfassen sollte, warum bestimmte Empfehlungen nicht entsprochen
wird, oder idealerweise das Institut dabei dazu zu motivieren
diese einfach genau so umsetzen.


Die erforderliche Bereitstellung digitaler Infrastruktur durch
Organisationen spielt für Hochschulen neben den Bereichen des
Software Engineerings auch in der Lehre eine wichtige Rolle:


"Wenn technische Möglichkeiten wie Vorlesungsaufzeichnungen
auch im Rahmen obligatorischer Lehrveranstaltungen genutzt werden
sollen, müssen Hochschulen daher auch aus datenschutzrechtlichen
Gründen entweder eine eigene Infrastruktur aufbauen oder
datenschutzkonforme Dienstleistungen gegen Entgelt in Anspruch
nehmen."
A. Lauber-Rönsberg in Videocampus Sachsen –
Machbarkeitsuntersuchung.


Was alles bei der Nutzung mit Software-Repositories am Beispiel
von GIT passieren kann, erzählt Sujeevan Vijayakumaran im
GPN19-Vortrag Dämliche Dinge mit git anstellen.


Grundlage für viele Aktivitäten der Software Engineering Group
basieren auf Software Carpentries, beispielsweise mit einer GIT
Einführung, die auch auf die Nachhaltigkeit abzielt.


In der Helmholtz-Gesellschaft wurde das HIFIS-Projekt (Helmholtz
Infrastructure for Federated ICT Services) gestartet, um die
Initiativen und Erfahrungen in der Bereitstellung von
Infrastrukturen innerhalb der Helmholtz Gesellschaft zu bündeln.
Hier geht es nicht nur um den Betrieb der Software, sondern auch
um das Training für die Services und im Allgemeinen. Dazu sollen
Communities für Software Engineering und weiteren Themen gebildet
werden, damit der Austausch über Erfahrungen und Wissen leichter
ablaufen kann.


Die Initiativen im Bereich der Research Software Engineers werden
im neu gegründeten Verein DE-RSE e.V. gegründet, der vom 4.-6.
Juni im Potsdam die erste
Konferenz für ForschungssoftwareentwicklerInnen in Deutschland
deRSE19 veranstaltet. Der Ursprung dieser Initiative liegt im
WSSSPE Workshop (Working towards sustainable software for
science: practice and experiences) und der Konferenz der Research
Software Egineers Association. Die #deRSE19 wird auch besonders
durch die TIB, dem Leibniz-Informationszentrum, Technik und
Naturwissenschaften, Universitätsbibliothek, unterstützt.


In der Zukunft muss es auch darum gehen, Infrastrukturen bereit
zu stellen, über gute Verfahren zu informieren und auch Anreize
für Forschenden zu schaffen, die verschiedenen Ansätze aufnehmen.
Der Verein und das HIFIS-Projekt möchten hier mit
unterschiedlichen Ansätzen dazu beitragen die Situation zu
verbessern, und insbesondere die aktuelle Dynamik in Richtung
Open Journals, Open Data, Open Source und Open Science zu nutzen.


Für einzelne Gruppen und Instituten sollte die Wichtigkeit sich
mit Open Source Lizenzen nicht unterschätzt werden: Es kann sonst
zu Inkopatibilitäten zwischen verschiedenen Lizenzen kommen, oder
es fehlen Einverständniserklärungen von einzelnen, nicht
vertraglich verbundenen Personen. Diese können beispielsweise
Studierende sein, die im Rahmen einer Abschlussarbeit an einem
Projekt mitgearbeitet haben. Hier muss ein Contributor Licence
Agreement bereit sein, die von sonst nicht vertraglich gebunden
Beitragenden unterschrieben werden kann.



Literatur und weiterführende Informationen

C. Haupt, T. Schlauch: The Software Engineering Community at
DLR—How We Got Where We Are, Proceedings of the Workshop on
Sustainable Software for Science: Practice and Experiences
(WSSSPE5. 1), 2017.

A. Schreiber, C. Haupt: Raising awareness about open source
licensing at the German aerospace center, 2018 IEEE Aerospace
Conference. IEEE, 2018.

D. A. Almeida, G. C. Murphy, G. Wilson, M. Hoye: Do software
developers understand open source licenses?, Proceedings of the
25th International Conference on Program Comprehension (pp.
1-11), IEEE Press, 2017.

R. Krishnamurthy, M. Meinel, C. Haupt, A. Schreiber, P.
Mäder: DLR secure software engineering: position and vision
paper. Proceedings of the 1st International Workshop on Security
Awareness from Design to Deployment (pp. 49-50). ACM, 2018.



Podcasts

M. Fromm, K. Förstner: Open Science Radio

C. Haupt, S. Janosch, K. Förstner: Voices from de-RSE
Conference 2019, Open Science Radio, OSR171, 2019.

C. Haupt, S. Druskat, K. Förstner: de-RSE Association and
Conference for Research Software Engineers in Germany, Open
Science Radio, OSR140, 2019.

S. Janosch, K. Förstner: Forschungssoftware in Deutschland,
Open Science Radio, OSR091, 2017.





GPN19 Special

P. Packmohr, S. Ritterbusch: Neural Networks, Data Science
Phil, Episode 16, 2019.

P. Packmohr, S. Ritterbusch: Propensity Score Matching,
Gespräch im Modellansatz Podcast, Folge 207, Fakultät für
Mathematik, Karlsruher Institut für Technologie (KIT), 2019.
http://modellansatz.de/propensity-score-matching

C. Haupt, S. Ritterbusch: Research Software Engineering,
Gespräch im Modellansatz Podcast, Folge 208, Fakultät für
Mathematik, Karlsruher Institut für Technologie (KIT), 2019.
http://modellansatz.de/research-software-engineering


GPN18 Special

D. Gnad, S. Ritterbusch: FPGA Seitenkanäle, Gespräch im
Modellansatz Podcast, Folge 177, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2018.
http://modellansatz.de/fpga-seitenkanaele

B. Sieker, S. Ritterbusch: Flugunfälle, Gespräch im
Modellansatz Podcast, Folge 175, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2018.
http://modellansatz.de/flugunfaelle

A. Rick, S. Ritterbusch: Erdbebensicheres Bauen, Gespräch im
Modellansatz Podcast, Folge 168, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2018.
http://modellansatz.de/erdbebensicheres-bauen


GPN17 Special

Sibyllinische Neuigkeiten: GPN17, Folge 4 im Podcast des CCC
Essen, 2017.

A. Rick, S. Ritterbusch: Bézier Stabwerke, Gespräch im
Modellansatz Podcast, Folge 141, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2017.
http://modellansatz.de/bezier-stabwerke

F. Magin, S. Ritterbusch: Automated Binary Analysis, Gespräch
im Modellansatz Podcast, Folge 137, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2017.
http://modellansatz.de/binary-analyis

M. Lösch, S. Ritterbusch: Smart Meter Gateway, Gespräch im
Modellansatz Podcast, Folge 135, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2017.
http://modellansatz.de/smart-meter


GPN16 Special

A. Krause, S. Ritterbusch: Adiabatische Quantencomputer,
Gespräch im Modellansatz Podcast Folge 105, Fakultät für
Mathematik, Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/adiabatische-quantencomputer

S. Ajuvo, S. Ritterbusch: Finanzen damalsTM, Gespräch im
Modellansatz Podcast, Folge 97, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/finanzen-damalstm

M. Fürst, S. Ritterbusch: Probabilistische Robotik, Gespräch
im Modellansatz Podcast, Folge 95, Fakultät für Mathematik,
Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/probabilistische-robotik

J. Breitner, S. Ritterbusch: Incredible Proof Machine,
Gespräch im Modellansatz Podcast, Folge 78, Fakultät für
Mathematik, Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/incredible-proof-machine

Weitere Episoden

Wahlmodelle
16 Minuten
vor 10 Monaten
Podcast Lehre
1 Stunde 42 Minuten
vor 1 Jahr
Instandhaltung
50 Minuten
vor 2 Jahren
CSE
42 Minuten
vor 2 Jahren
Mentoring
35 Minuten
vor 2 Jahren
15
15
:
: