Call for Papers

Software-Erosion und Refactorings in großen Software-Projekten ( Kompaktseminar )

Software-Erosion erkennen, stoppen und beseitigen

Referent: Prof. Dr. Rainer Koschke, Universität Bremen
Vortragsreihe: KS 1.09
Zeit: 03.12.18 09:00-12:30

Zielgruppe

Entwicklung

Themenbereiche

Test & Qualitätssicherung, Wartung, Pflege, Support, Software Engineering Management

Schwerpunkt

Methode

Voraussetzungen

Grundlagenwissen

Kurzfassung

Software-Erosion ist der schleichende Verfall der inneren Qualität von Software. Ihre Konsequenzen sind ein erhöhter Aufwand beim Verstehen, Ändern und Testen der Software. Die Fehlerrate steigt und die Termintreue sinkt. Wird sie nicht gestoppt, führt das zu einem verfrühten Ableben der Software. Erosion kann mittels statischer Analyse sichtbar gemacht werden. Werden diese Analysen begleitend über den Entwicklungszeitraum durchgeführt, lassen sich Trends erkennen und Prognosen abgeben. Die Einbeziehung anderer Daten wie Änderungshäufigkeit und Fehlerraten ergeben ein Gesamtbild zum Zustand der Software und dessen Implikationen. Durch Refactorings lässt Erosion sich beseitigen. Der Schwerpunkt in diesem Seminar liegt auf Software-Erosion und architekturellen Refactorings in großen Programmen oder gar Sammlungen vieler großer Projekte über einen langen Zeitraum hinweg. Hier spielt die Abwägung der Maßnahmen und ihre Planung eine größere Rolle als bei Refactorings im Kleinen.

Gliederung

Dieses Kompaktseminar beschreibt Techniken, Methoden und Werkzeuge der
Software-Analyse und Software-Analytics zur Aufdeckung von
Software-Erosion sowie des Refactorings im Großen zur Beseitigung
dieser. Folgende Fragen werden geklärt:

Was ist und welche Auswirkung hat Software-Erosion?

Welche Indikatoren für Software-Erosion lassen sich mit Hilfe statischer Analyse finden?

Wie können Projekte in Bezug auf Software-Erosion miteinander verglichen werden?

Wie kann Software-Erosion über die Zeit verfolgt werden, um Trends zu
erkennen?

Welche weiteren verwertbaren Daten fallen im Entwicklungsprozess an,
mit denen Software-Erosion in Zusammenhang gebracht werden kann?

Wie können diese zusätzlichen Daten erhoben und auf Zusammenhänge
analysiert werden?

Was unterscheidet Refactorings im Kleinen von Refactorings im Großen?

Wie können Refactorings im Großen erfolgreich geplant und durchgeführt
werden?

Nutzen und Besonderheiten

Die Teilnehmer und Teilnehmerinnen lernen wissenschaftlich fundierte Methoden der Software-Analyse und der Software-Analytics kennen, um Software-Erosion und relevante Zusammenhänge im Entwicklungsprozess erkennen zu können. Sie lernen Techniken der statischen Analyse und des Repository-Minings kennen, mit deren Hilfe grundlegende Daten automatisiert gesammelt werden können. Sie werden mit verfügbaren Werkzeugen bekannt gemacht, mit deren Hilfe man Indikatoren für Software-Erosion erheben und Data-Mining über einfach und selbst betreiben kann. Sie lernen, wie man Refactorings im Großen plant und erfolgreich durchführt.

Über den Referenten

Prof. Koschke ist ein international aktiver Forscher in den Bereichen Software-Qualität, Architektur und Programmanalyse und Lehrender im Bereich Softwaretechnik an der Universität Bremen. Er ist Mitgründer der Firma Axivion GmbH, die Lösungen zur Bekämpfung von Software-Erosion bereithält.