Keynotes

Dr. Elmar Jürgens
Vom Wiegen allein wird die Sau nicht fett
Erfahrungen aus einem Jahrzehnt Qualitätsanalyse in Forschung und Praxis

Ich habe vor 12 Jahren als Doktorand zum ersten Mal eigene statische Qualitätsanalysen in der Praxis durchgeführt. Mich hat damals fasziniert, welche Einblicke mir die Ergebnisse in die Entwicklungsprozesse und Probleme in erfolgreichen Organisationen erlaubten.
Oft haben sie mir jeodch gezeigt, dass die Vorstellung, die ich als Forscher von der Praxis hatte, bestenfalls unvollständig war. Als wir beispielsweise Clone Detection bei einem unserer ersten Industriepartner eingesetzt haben, haben wir hunderttausende Zeilen Code gefunden, die zwischen mehreren Abteilungen in dreifacher Kopie gepflegt wurden. Und bei denen nachweislich kritische Fehler nur teilweise behoben waren. Unser Vorschlag, hierfür gemeinsame Komponenten einzuführen, rief jedoch zu unserer Überraschung wenig Begeisterung hervor: Die drei Kopien waren entstanden, weil die Organisation vorher mit der Pflege dieser Funktionalität in einer gemeinsamen Komponenten gescheitert war. Was dieser Partner wirklich brauchte, waren funktionierende Ansätze für Management von Duplikaten, nicht für die Erkennung. Hierzu gab es aber wenig nützliche Forschungsarbeiten.
Heute bekomme ich diese Einblicke öfter. Unsere Firma beschäftigt inzwischen 37 Mitarbeiter, von denen die Hälfte in Software Engineering promoviert hat. Wir alle arbeiten ausschließlich an der Entwicklung oder dem Einsatz von Qualitätsanalysen. Aus unseren Forschungsprototypen ist inzwischen ein kommerzielles Analysewerkzeug geworden, das eine Vielzahl der Analyseansätze aus unserer Community implementiert. Es wird von Entwicklern und Testern weltweit täglich eingesetzt, von KMUs bis hin zu DAX-Konzernen, von Behörden bis zu Unternehmen im Silicon Valley. Auch 12 Jahre später fasziniert mich, welche Ergebnisse und Überraschungen unsere Analysen in der Praxis zu Tage fördern.
Und immer noch zwingen mich die dabei gewonnenen Einblicke regelmäßig, mein Bild von "der Praxis" weiterzuentwickeln. Beispielsweise setzen wir bei vielen Kunden inzwischen flächendeckend dynamische Analysen auch in Produktionsumgebungen ein, um die Ausführung von Code durch Tester und Anwender aufzuzeichnen. Häufig fällt dabei auf, das auch in strukturierten Testprozessen große Code-Mengen ungetestet in Produktion gelangen würden. Oder das große Teile der Funktionalität seit Jahren von keinem einzigen Anwender genutzt wurden, und vermutlich gelöscht werden könnten. Diese Analysen sind konzeptionell relativ einfach, bringen aber oft die für die Anwender deutlich spannenderen Analysen, als viele technisch bedeutend aufwändigere, statische Analysen.
In dieser Keynote möchte ich diese und weitere zentralen Erfahrungen und Überraschungen teilen.


Elmar Jürgens

Dr. Elmar Juergens hat über statische Codeanalyse promoviert und für seine Doktorarbeit den Software-Engineering-Preis der Ernst Denert-Stiftung erhalten. Er ist Mitgründer der CQSE GmbH und begleitet seit acht Jahren Teams bei der Verbesserung ihrer Qualitätssicherungs- und Testprozesse. Juergens spricht regelmäßig auf Konferenzen wie dem QS-Tag, W-JAX, JAX, OOP, Teamconf, DWX, ICSE, CSMR, SQD oder den XP Days. Er wurde von den Teilnehmern zum besten Sprecher der Clean Code Days 2014, der Software Quality Days 2015 und dem Java Forum 2015 gewählt.

Elmar Jürgens wurde 2015 zum Junior Fellow der Gesellschaft für Informatik ernannt.

Univ.-Prof. Dr. Ralf Reussner
Digitalisierung technischer Innovationen
Eine besondere Chance für das Software Engineering oder sollte man lieber die Annahme seines Konferenzpapiers optimieren?

In jeder technischen Innovation steckt heutzutage Software drin. Meist sogar an ganz entscheidender Stelle. Dementsprechend trägt Software immer stärker zur Wertschöpfung durch technische Systeme bei. Es bieten sich daher gerade auch methodisch Chancen des Software Engineering. Informatik-Methoden helfen bei Herausforderungen des Systems Engineering von der Sichtenkonsistenz über Modellanalyse bis hin zur Handhabung von Versionen und Varianten. Damit kann Software Engineering auch methodisch eine zentrale Rolle bei der Systementwicklung einnehmen. Oder wir können stattdessen visionslos nur die Annahme des nächsten Konferenzbeitrags optimieren. Das hilft scheinbar bei der Optimierung der eigenen Laufbahn, vergibt aber die Chance der Weiterentwicklung unserer Disziplin. Der Vortrag beleuchtet technisch die Chancen, die sich gegenwärtig für eine Neupositionierung des Software Engineerings ergeben wie auch aktuelle gegenläufige Trends im Publikationsgebahren unserer Disziplin.


Ralf Reussner

Ralf Reussner ist Lehrstuhlinhaber im Bereich Software-Technik am Karlsruher Institut für Technologie (KIT) und seit 2006 Sprecher der Leitung des Instituts für Programmstrukturen und Datenorganisation am KIT. Er ist Mitglied des Vorstands der KIT-Fakultät für Informatik als Prodekan (2007-2011 sowie seit 2015). Im Sommer 2006 wurde er als jüngster Direktor des FZI-Forschungszentrum Informatik in Karlsruhe bestellt, einer der ältesten deutschen Einrichtungen für Informatik-Technologietransfer in die Wirtschaft. In diesen Funktionen berät er zahlreiche Industrie-Partner im Bereich des Software-Entwurfs und -Qualitätsbewertung. 2011-2017 war er wissenschaftlicher Vorstand des FZI und 2012-2017 Sprecher des Vorstandes. In diesen Funktionen berät er zahlreiche Industrie-Partner im Bereich des Software-Entwurfs und -Qualitätsbewertung. Ralf Reussner publizierte über 150 begutachtete Artikel in internationalen Zeitschriften und Konferenzen und ist Herausgeber des „Spektrums der Informatik“ sowie des Handbuchs der Software-Architektur. International gründete er die Serie der „International Conference on the Quality of Software Architecture“, einer der Pfeiler der heutigen „International Conference on Software Architecture“.

Ralf Reussner war stellvertretender Sprecher des DFG-Graduiertenkollegs TrustSoft (Vertrauenswürdige Software-Systeme) an der Universität Oldenburg. Seit 2015 ist er Koordinator des DFG-Schwerpunktprogramms 1593 "Design for Future". Er gründete den GI-Arbeitskreises Software-Architektur, den er in die Fachgruppe Software-Architektur überführte. Seit 2013 ist Ralf Reussner Vorsitzender des Steuerkreises der deutschen Software Engineering Konferenz der GI. Seit 2016 vertritt er als Sprecher des Fachbereichs Software-Technik der GI alle dort organisierten Software-Ingenieure. Über das GI-Engagement hinaus gründete er in Karlsruhe den Verein der Karlsruher Software-Ingenieure, der neben der Vernetzung von Praktikern und Forschung auch den technisch-wissenschaftlichen Nachwuchs an Schulen fördert.

Univ.-Prof. Dr. Achim Zeileis
The R System
From Open Source to Open Science - An Insider’s View

R (www.R-project.org) is an open-source source software system and programming language that - along with Python - is among the most popular general data science tools. While R's popularity outside academia has also been growing rapidly, it is probably fair to say that the R user/developer community has been very actively involved in the broader open science movement. This encompasses various facets of openness, including among others:

  • Classical open-source software written in and for R.
  • Research software engineering aiming at developing, maintaining, and teaching software for research.
  • Open-access publishing including dynamic documents generated from Markdown and/or LaTeX combined with R code.
  • Reproducible research practices, sharing not only papers but also the underlying data, code, and (intermediate) results.
  • Authoring and maintaining code, documentation, manuscripts, and empirical analyses using open version control tools.

Here, we trace how R evolved from the GNU system for statistical computing and graphics in the mid-1990s to today's broad and diverse ecosystem, providing many tools for open science including: literate programming, document preparation, package management, pipelines, or workflows. Already in the late 1990s and early 2000s initiatives within the R community emphasized the importance of (statistical) software being the potential principal outcome of scientific research, rather than a by-product of methodological or empirical work. This necessitated establishing suitable communication channels in conferences (like the Directions in Statistical Computing or useR! conferences) and journals (like the Journal of Statistical Software or The R Journal) along with a common understanding of good practices, review and evaluation criteria, standards for citations, etc.
For illustration, we highlight which quality criteria are important for successful publications in the Journal of Statistical Software (JSS). JSS fosters comprehensive open-source implementations of broad classes of statistical models which can be easily embedded into standard workflows. Strategies that typically help accomplishing this goal include:

  • Adopting a design for the computational tools that reflects the features of the underlying conceptual methods.
  • Employing an object-oriented programming paradigm with standard generic functions and methods.
  • Reusing standard data structures and object classes.
  • Providing modular building blocks.
  • Finally, some comparisons to other new publication and collaboration initiatives related to the R community are provided (e.g., rOpenSci or the Journal of Open Source Software) as well as an outlook on R's future.

Achim Zeileis

Achim Zeileis ist Professor für Statistik an der Universität Innsbruck (UIBK). Seine Forschungsinteressen liegen vor allem im Bereich Statistische Software und Statistical Computing mit Fokus auf Open-Source-Statistiksoftware. Diese ist von fundamentaler Bedeutung bei der Umsetzung von statistischen Methoden in angewandte Datenanalyse in verschiedensten Disziplinen.
Da das Sammeln und Auswerten heute in allen Bereichen des Lebens allgegenwärtig ist (Stichwörter: “Big Data” und “Data Science”), gibt es einen steigenden Bedarf an flexiblen statistischen Methoden und zugehörigen Software-Implementierungen. Der Kern der Arbeit von Zeileis ist genau an dieser Schnittstelle angesiedelt und umfasst Methoden und Software zur datengetriebenen Analyse von komplexen Daten sowie deren Anwendungen in unterschiedlichen Disziplinen (u.a. in den Wirtschaftswissenschaften, der Meteorologie oder auch Psychologie).

Die statistischen Werkzeuge, an denen Zeileis arbeitet, kombinieren typischerweise Elemente sowohl aus der klassischen parametrischen Inferenz als auch moderner flexibler und adaptiver Verfahren (bspw. semiparametrische Regression, Mischmodelle, und Machine Learning). Um diese Methoden in der Praxis einzusetzen wird entsprechend effiziente Software auf Basis von adaptiven Algorithmen benötigt (bspw. Bayesianische Markov chain Monte Carlo, EM-Algorithmen, oder rekursives Partitionieren um Entscheidungsbäume zu lernen). Schließlich muss diese Software genau wie die zugehörigen Manusrkipte unter geeigneten Lizenzen in Open-Access-Journalen und -Archiven publiziert werden, um sie sowohl anderen Forschern als auch der allgemeinen Öffentlichkeit möglichst leicht und frei zugänglich zu machen.