Navigation

Dr.-Ing. Norbert Oster, Akad. ORat

Department Informatik (INF)
Lehrstuhl für Informatik 2 (Programmiersysteme)

Raum: Raum 05.158
Martensstr. 3
91058 Erlangen

Sprechstunde:

n.V. per E-Mail

  • Informatik als Grundlage eines erfolgreichen MINT-Studiums entlang der Bildungskette fördern

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 01.11.2019 - 31.10.2022
    Mittelgeber: Bayerisches Staatsministerium für Wissenschaft und Kunst (seit 2018)

    Die fortschreitende Digitalisierung verändert neben dem Arbeitsmarkt auch die Bildungslandschaft. Mit Mitteln aus dem DigitalPakt Schule werden u.a. im Zuge des Programms BAYERN DIGITAL II gravierende Veränderungen in der Informatikausbildung vorangetrieben, die wiederum neue Herausforderungen auf den verschiedenen Bildungsebenen mit sich ziehen. 
    Das Projekt CS4MINTS begegnet eben diesen Herausforderungen entlang der Bildungskette und knüpft an bereits im Rahmen des Projekts MINTerAKTIV gestartete Maßnahmen, wie u.a. der Stärkung der Begegnung zunehmender Heterogenität der Studierenden im Zuge der Einführungsveranstaltung in die Informatik, an.

     

    So wird im Zuge der Begabtenförderung das Frühstudium in Informatik aktiv für Mädchen beworben und das Angebot explizit erweitert. Durch frühzeitiges Vorgehen gegen genderspezifische Stereotypen bzgl. Informatik sowie eine Erweiterung des Fortbildungsangebots um gendersensitiven Informatikunterricht in allen Schularten, soll langfristig ein signifikanter Anstieg des Frauenanteils im Fach Informatik erreicht werden.

     

    Durch die Erweiterung des Pflichtfachs Informatik in allen Schulen besteht außerdem ein großer Bedarf an geeigneten Unterrichtskonzepten und einer Stärkung der LehrerInnenbildung. Hierfür soll im Projektzeitraum ein regionales Netzwerk aufgebaut werden, um universitär erarbeitete und evaluierte Unterrichtsideen zur Stärkung von MINT im curricularen und extra-curricularen Rahmen zur Verfügung zu stellen. 

  • Grundlagen der Informatik als Fundament eines zukunftsorientierten MINT-Studiums

    (Drittmittelfinanzierte Einzelförderung)

    Laufzeit: 01.10.2016 - 30.09.2019
    Mittelgeber: Bayerisches Staatsministerium für Bildung und Kultus, Wissenschaft und Kunst (ab 10/2013)
    URL: https://www2.cs.fau.de/research/GIFzuMINTS/
    Die zunehmende Digitalisierung aller Wissenschafts- und Lebensbereiche hat dazu geführt, dass Kompetenzen in den Grundlagen der Informatik für Studierende aller Studiengänge der Technischen Fakultät (und darüber hinaus) als essentiell erachtet werden. Für den Studienerfolg haben sich diese, typischerweise direkt in der Studieneingangsphase verorteten, Lehrveranstaltungen allerdings für viele Studierende als problematische Hürde erwiesen, die letztlich häufig zum Studienabbruch führen kann. Aus diesem Grund widmen wir uns dem Ausbau der Unterstützung von angehenden Studierenden beim Übergang Schule-Hochschule sowie während der Studieneingangsphase.
    Die Projektschwerpunkte liegen hinsichtlich der Studienorientierung in der Förderung des potenziellen MINT-Nachwuchses bereits vor Studienbeginn durch regionale und überregionale Kontakte wie z.B. Unterstützung bei W-Seminaren oder Fortbildungen von Lehrerinnen und Lehrern als Multiplikatoren für die Studienwahl. Hinsichtlich des Übergangs Schule-Hochschule steht der Ausgleich unterschiedlicher Vorkenntnisse der Studienanfänger durch Repetitorien im Vordergrund. In der Studieneingangsphase liegt der Schwerpunkt in der Senkung der Abbruchquote in MINT-Studiengängen durch spezielle Intensivierungsübungen und Tutorenschulungen unter Berücksichtigung der Heterogenität.
    2018 stand unter anderem die Untersuchung der Wirksamkeit aller Maßnahmen im Fokus. Untersucht wurde der Einfluss des angestiegenen Übungsgruppenangebots und der umfangreichen Unterstützung durch die Tutorinnen und Tutoren. Außerdem war die Wirksamkeitsuntersuchung hinsichtlich des Zusammenhangs von Wahrnehmung des Übungsangebots und Abbruchquote Untersuchungsgegenstand. Weiterhin wurden die Auswirkungen der Teilnahme am Repetitorium auf die Leistungen in den Übungen und in der Klausur untersucht.
    Um das Ziel der Gewinnung und Qualifizierung von Lehrerinnen und Lehrern als Multiplikatoren zu erreichen, wurde das Angebot an Lehrerfortbildungen weiter ausgebaut. In diesen Fortbildungen wurden innovative Herangehensweisen, Beispiele und Inhalte für den Unterricht mit dem Ziel aufgezeigt, dass die Teilnehmerinnen und Teilnehmer das Gelernte an ihre Schülerinnen und Schüler weitervermitteln.
    Ein weiteres Teilziel war die quantitative und qualitative Verbesserung der in Informatik geschriebenen W-Seminar-Arbeiten. Dazu wurde eine 24-seitige Broschüre entwickelt und an Schulen in umliegenden Landkreisen verschickt. Mit dieser Broschüre sollen Lehrkräfte bei der Gestaltung und Durchführung von W-Seminaren in der Informatik mit Themenvorschlägen, Hinweisen und einer Checkliste für die Schülerinnen und Schüler unterstützt werden.Im Jahr 2019 endete das Projekt GIFzuMINTS mit einem besonderen Höhepunkt: Am 20.05.2019 besuchte uns der bayerische Staatsminister für Wissenschaft und Kunst, Bernd Sibler, zusammen mit dem stellvertretenden Hauptgeschäftsführer der vbw bayme vbm, Dr. Christof Prechtl, um sich über den Stand des Projekts zu informieren. Wissenschaftsminister Bernd Sibler zeigte sich beim Projektbesuch beeindruckt: "Das Konzept der FAU geht passgenau auf die Anforderungen eines Informatikstudiums ein. Die jungen Studentinnen und Studenten werden dort abgeholt, wo sie stehen. Das ist exakt unser Anliegen, das wir mit MINTerAKTIV verfolgen: Wir wollen, dass jede Studentin und jeder Student die Unterstützung bekommt, die sie bzw. er braucht, um das Studium erfolgreich abschließen zu können."Bis zum Projektende wurden die entwickelten und umgesetzten Maßnahmen gründlich evaluiert und als dauerhafte Angebote etabliert. Dabei wurde das Repetitorium Informatik in ein kontinuierliches virtuelles Angebot zum Selbststudium überführt und auf den neuesten Stand der Technik aktualisiert. Das an besonders begabte Studierende gerichtete Angebot der Vorbereitung auf die Teilnahme an internationalen Programmierwettbewerben wurde ausgeweitet und als Vertiefungsmodul eingerichtet. Damit die begonnenen Maßnahmen auch zukünftig reibungslos weitergeführt werden können, wurde bereits frühzeitig die Aufnahme in das anschließende Förderprojekt beantragt, das zukünftig als CS4MINTS auch bewilligt wurde.

Vorlesung (VORL)

  • Testen von Softwaresystemen

    Corona-Hinweis: Die Lehrveranstaltung findet bis auf weiteres online über StudOn statt.

    • Di 16:15-17:45, Raum 02.135-113 CIP
    • Mi 16:15-17:45, Raum 02.135-113 CIP
  • Parallele und Funktionale Programmierung

    Corona-Hinweis: Die Lehrveranstaltung findet bis auf weiteres online über StudOn statt.

    • Fr 10:15-11:45, Raum H11
  • Testen von Softwaresystemen

    Corona-Hinweis: Die Lehrveranstaltung findet bis auf weiteres online über StudOn statt.

    • Di 16:15-17:45, Raum 02.135-113 CIP
    • Mi 16:15-17:45, Raum 02.135-113 CIP

Übung (UE)

  • Rechnerübungen zu Algorithmen und Datenstrukturen

    Corona-Hinweis: Die Lehrveranstaltung findet bis auf weiteres online über StudOn statt.

    • Mi 14:00-16:00, Raum 00.156-113 CIP
    • Di 12:00-14:00, Raum 00.153-113 CIP
    • Do 10:00-12:00, Raum 00.153-113 CIP
    • Di 14:00-16:00, Raum 00.153-113 CIP
    • Mo 14:00-16:00, Raum 02.135-113 CIP
    • Do 16:00-18:00, Raum 02.135-113 CIP
    • Do 12:00-14:00, Raum 02.135-113 CIP
    • Do 14:00-16:00, Raum 02.135-113 CIP
    • Di 10:00-12:00, Raum 02.135-113 CIP
    • Fr 10:00-12:00, Raum 02.135-113 CIP
    • Mo 16:00-18:00, Raum 00.153-113 CIP
    • Mi 12:00-14:00, Raum 02.135-113 CIP
    • Fr 12:00-14:00, Raum 02.135-113 CIP
  • Tafelübungen zu Algorithmen und Datenstrukturen

    Corona-Hinweis: Die Lehrveranstaltung findet bis auf weiteres online über StudOn statt.

    • Mi 8:15-9:45, Raum 01.151-128
    • Di 12:15-13:45, Raum 02.134-113
    • Do 16:15-17:45, Raum 02.134-113
    • Mi 14:15-15:45, Raum 01.255-128
    • Mo 14:15-15:45, Raum 02.134-113
    • Di 14:15-15:45, Raum Übung 3 / 01.252-128
    • Do 12:15-13:45, Raum 00.151-113
    • Do 10:15-11:45, Raum 02.134-113
    • Do 12:15-13:45, Raum 02.134-113
    • Mi 10:15-11:45, Raum 02.134-113

2020

2017

2011

2008

2007

2006

2005

2004

2002

2001

2010-2019 embedded world Conference, PC-Mitglied, Session-Chair
2016-2019 MINTerAKTIV/GIFzuMINTS, Co-Projektkoordinator
2015 Software Engineering 2015 (SE2015), PC-Mitglied
2012-2014 WEMUCS – Methoden und Werkzeuge zur iterativen Entwicklung und Optimierung von Software für eingebettete Multicore-Systeme, Co-Projektkoordinator
2012/2013 Mitglied der Berufungskommission W2-Professur Didaktik der Informatik (Nachfolge Brinda)
2006-2008 UnITeD – Unterstützung Inkrementeller TestDaten, Co-Projektkoordinator
2007 International Conference on Computer Safety, Reliability and Security (SAFECOMP 2007), Mitglied des Organisationskommitees

Alphabetisch sortiert im UnivIS

Kurzbeschreibung:

.gEAr-Meilensteine
Die Zunahme der Komplexität moderner Softwaresysteme stellt trotz deutlich verbesserter Entwicklungsmethoden heute noch das Haupthindernis auf dem Weg zur fehlerfreien Programmerstellung dar. Größe und Budget heutiger Projekte verbieten meist eine vollständige formale Verifikation, die selbst in realisierbaren Fällen nur die logische Domäne der Programme und nicht ihr reales Umfeld einbezieht, weshalb dem Testen als Qualitätssicherungsmaßnahme vor der Freigabe der Software ein hoher Stellenwert eingeräumt wird. Um die Chancen der Fehlererkennung während der Testphase zu erhöhen, werden Testfälle nach unterschiedlichen Strategien ausgewählt: Während funktionales Testen die Eingaben aus den spezifizierten Anforderungen herleitet, streben strukturelle Tests eine möglichst vollständige Ausführung des Codes an. Bedingt durch die Komplexität der Kontrollstrukturen ist die Ermittlung geeigneter Testdaten zur Erfüllung datenflussorientierter Überdeckungskriterien besonders zeitaufwändig. Selbst wenn Testdaten zufällig generiert werden, müssen sie darüber hinaus meist manuell auf Korrektheit überprüft werden, so dass ihre Anzahl entscheidend zu Buche schlägt.

Ziel des laufenden Projekts ist es, die Generierung adäquater Mengen datenflussorientierter Testfälle zu automatisieren und unterschiedliche Verfahren hinsichtlich ihrer Eignung nach verschiedenen Kriterien (Güte, Aufwand) zu untersuchen. Als geeignete Such- und Optimierungsalgorithmen haben sich Evolutionäre Verfahren in unterschiedlichen Anwendungen erwiesen. Bisherige Arbeiten empfehlen bereits Genetische Algorithmen, jedoch wurde ihre Anwendbarkeit lediglich auf einfache Kontrollflusskriterien (etwa nach erzielten Anweisungs- oder Verzweigungsüberdeckungsmaßen) untersucht. Auch hat man bisher entweder eigene Programmiersprachen definiert oder bestehende soweit eingeschränkt, dass die Verfahren nicht mehr ohne weiteres auf reale Projekte übertragbar sind.

  • Dynamische Analyse der Testausführung
    Um die während der Ausführung eines Testfalls tatsächlich überdeckten Definitions- / Benutzungspaare (sogenannter def/use Paare) zu ermitteln, wurde ein Werkzeug zur Überwachung der dynamischen Ausführung eines Java-Programms entwickelt. Dieses Werkzeug instrumentiert den Quellcode des Testobjekts so, dass während eines einzelnen Testlaufs alle dazu relevanten Datenflussinformationen protokolliert werden. Die Ergebnisse wurden anlässlich der internationalen Tagung PSAM7/ESREL’04 publiziert.
  • Globale Optimierung von Testdatensätzen
    Aufbauend auf der dynamischen Bewertung der von einem Testdatensatz erzielten Überdeckung wurde ein Verfahren entwickelt, um optimale Testdatensätze mittels klassischer und evolutionärer Suchstrategien zu generieren. Dabei werden Testdatensätze nach ihrem zu minimierenden Umfang sowie der zu maximierenden Anzahl der von ihnen überdeckten Datenflusspaare bewertet. Die erzielte globale Optimierung erfordert keine detaillierte Kenntnis der Kontrollflussstruktur des Testobjekts. Zur Generierung der Testdatensätze wurden unterschiedliche selbstadaptive Evolutionäre Verfahren sowie genetische Operatoren eingesetzt und vergleichend bewertet. Die verschiedenen Kombinationen wurden in einem parallelisierten, verteilten Werkzeug realisiert und getestet. Einzelheiten wurden von der GI-Fachgruppe TAV veröffentlicht.
  • Statische Analyse des Testobjekts
    Zur Bewertung der relativen Güte der vom Evolutionären Verfahren ermittelten Ergebnisse wird zusätzlich zu den tatsächlich erreichten Überdeckungsmaßen (siehe dynamische Analyse) die Kenntnis der maximal erzielbaren Überdeckung benötigt, das heißt der Gesamtanzahl der von Tests auszuführenden Knoten, Kanten und Teilpfade des Kontrollflussgraphen. Zu diesem Zweck wurde ein statischer Analysator realisiert, welcher darüber hinaus auch die jeweiligen Definitionen und Benutzungen (sowie alle sie verbindenden DU-Teilpfade) jeder Variablen im datenflussannotierten Kontrollflussgraphen lokalisiert. Ergänzt um die Ergebnisse der dynamischen Analyse kann zum einen ein besseres Abbruchkriterium für die globale Optimierung definiert werden, zum anderen wird die im folgenden beschriebene lokale Optimierung unterstützt.
  • Bestimmung des Fehleraufdeckungspotentials der automatisch generierten Testfälle
    Zusätzlich zur Bewertung der relativen Güte einer Testfallmenge im Sinne der Überdeckung (siehe statische Analyse) wurde im vorliegenden Projekt auch eine Schätzung der Qualität automatisch generierter Testfälle durch Betrachtung ihres Fehleraufdeckungspotentials angestrebt. Dazu wurde ein Back-to-back-Testverfahren nach dem Prinzip des Mutationstestens umgesetzt. Dabei werden repräsentative Fehler in das ursprüngliche Programm injiziert und das Verhalten der modifizierten Variante bei der Ausführung der generierten Testfälle mit dem der unveränderten Fassung verglichen. Der Anteil der verfälschten Programme, bei denen eine Abweichung im Verhalten aufgedeckt werden konnte, ist ein Indikator für das Fehleraufdeckungspotential der Testfallmenge. Die Ergebnisse der letzten beiden Teilaufgaben wurden anlässlich der internationalen Tagung SOQUA 2005 publiziert.
  • Ausdehnung des Ansatzes auf weitere Teststrategien
    Das entwickelte Verfahren zur multi-objektiven Generierung und Optimierung von Testfällen lässt sich auch auf andere Teststrategien übertragen. Wählt man Überdeckungskriterien, welche zu den betrachteten datenflussorientierten Strategien orthogonal sind, ist die Erkennung anderer Fehlerarten zu erwarten. Im Rahmen eines Teilprojektes wurde beispielsweise ein Ansatz zur statischen Analyse des Testobjekts und dynamischen Analyse der Testausführung im Hinblick auf das Kriterium der Bedingungsüberdeckung entwickelt und implementiert. Ebenso wurde in einem weiteren Teilprojekt eine Unterstützung für das Kriterium der strukturellen Grenzwerttestüberdeckung umgesetzt, wodurch in Kombination mit den bestehenden Kriterien eine zusätzliche Erhöhung der Fehleraufdeckungsquote zu erwarten ist.
  • Ergänzung des Verfahrens um automatische Testtreibergeneratoren
    Da für die automatische Generierung von Testfällen spezialisierte Testtreiber notwendig sind, welche sich nur bedingt zur manuellen Überprüfung der Testergebnisse eignen, wurde darüber hinaus im Rahmen eines Teilprojektes eine zweistufige automatische Testtreibergenerierung umgesetzt. Diese erstellt zunächst parametrisierbare Testtreiber, welche ausschließlich während der Testfalloptimierung eingesetzt werden, und übersetzt diese anschließend in die übliche jUnit-Syntax, sobald die generierten und optimierten Testdaten vorliegen.
  • Experimentelle Bewertung des entwickelten Werkzeugs
    Die praktische Relevanz des entwickelten Verfahrens wurde in verschiedenen experimentellen Einsätzen erprobt und bewertet. Als Testobjekte dienten dabei Java-Packages mit bis zu 27 Klassen (5439 Codezeilen). Die nebenläufige Testausführung während der Generierung und Optimierung der Testfälle wurde auf bis zu 58 vernetzten Rechnern parallelisiert. Die Ergebnisse wurden anlässlich der internationalen Tagung SAFECOMP 2006 veröffentlicht.

  • Erweiterung des Leistungsumfangs der automatischen Generierung
    Zusätzlich zu den bereits unterstützten Testkriterien aus der Familie der Kontroll- und Datenflussstrategien, wird die Methode und das umgesetzte Werkzeug auf weitere Testverfahren ausgedehnt. Auf der Basis der bereits entwickelten Verfahren und Werkzeuge, ist zu untersuchen, wie die obigen Forschungsergebnisse unter Einsatz von fach-spezifischem Wissen dahingehend erweitert und verbessert werden können, um die Heuristiken schneller und effizienter zu gestalten – beispielweise unter Einsatz verteilter Evolutionärer Verfahren.
  • Portierung des Werkzeugs zur Unterstützung weiterer Programmiersprachen
    Nachdem die Implementierung der automatischen Erstellung von Testtreibern und der Generierung und Optimierung von Testdaten für Java-Programme bereits erfolgreich abgeschlossen wurde, ist die breitere Anwendbarkeit des Werkzeugs in der Industrie dadurch zu erreichen, dass die Unterstützung weiterer Programmiersprachen angeboten wird. Dazu gehört insbesondere die im eingebetteten Bereich verbreitete Familie der Sprache C – darunter die aktuelleren Derivate C++ und C#. Aufbauend auf den bisherigen Erkenntnissen für Java wird das bestehende Werkzeug um eine statische und eine dynamische Analyse für C#-Programme ergänzt.
  • Generierung zusätzlich erforderlicher Testdaten mittels lokaler Optimierung
    Aus der bereits erfolgten Lokalisierung der Datenflusspaare (siehe statische Analyse) lassen sich insbesondere die für die Erfüllung des Testkriteriums fehlenden Testpfade ermitteln. Zugehörige Testfälle sollen durch die Anwendung Evolutionärer Verfahren in einer lokalen Optimierung generiert werden. Dazu wird eine neue Fitnessfunktion aufgrund graphentheoretischer Eigenschaften des Kontrollflussgraphen definiert. Die bereits umgesetzte Instrumentierung (dynamische Analyse) des Testobjekts wird passend erweitert. Somit wird die automatische Generierung der Testfälle gezielter lokal gelenkt und hinsichtlich Zeitaufwand und erzielter Datenflussabdeckung weiter verbessert.