Hauptseite: Unterschied zwischen den Versionen

Aus IPD-Institutsseminar
Zur Navigation springen Zur Suche springen
Zeile 23: Zeile 23:
 
|sort=Veranstaltungsdatum
 
|sort=Veranstaltungsdatum
 
|order=ascending
 
|order=ascending
|limit=1
+
|limit=2
 
|format=plainlist
 
|format=plainlist
 
|template=Termine für Datum
 
|template=Termine für Datum

Version vom 20. Dezember 2019, 10:36 Uhr

Das Institutsseminar des Instituts für Programmstrukturen und Datenorganisation (IPD) ist eine ständige Lehrveranstaltung, die den Zweck hat, über aktuelle Forschungsarbeiten am Institut zu informieren. Insbesondere soll Studierenden am Institut die Gelegenheit gegeben werden, über ihre Bachelor- und Masterarbeiten vor einem größeren Auditorium zu berichten. Schwerpunkte liegen dabei auf der Problemstellung, den Lösungsansätzen und den erzielten Ergebnissen. Das Seminar steht aber allen Studierenden und Mitarbeiter/-innen des KIT sowie sonstigen Interessierten offen.

Ort Gebäude 50.34, Seminarraum 348
Zeit jeweils freitags, 11:30–13:00 Uhr

Die Vorträge müssen den folgenden zeitlichen Rahmen einhalten:

  • Masterarbeit: 30 Minuten Redezeit + 15 Minuten Diskussion
  • Bachelorarbeit: 20 Minuten Redezeit + 10 Minuten Diskussion
  • Proposal: 12 Minuten Redezeit + 8 Minuten Diskussion

Weitere Informationen: https://sdqweb.ipd.kit.edu/wiki/Institutsseminar. Bei Fragen und Anmerkungen können Sie eine E-Mail an das Institutsseminar-Team schreiben.

Nächste Vorträge

Freitag, 31. März 2023, 11:30 Uhr

Ort: Raum 348 (Gebäude 50.34)
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Tim Schilpp
Titel Analyzing Different Approaches to Integrating Handwritten and Generated Object-oriented Code
Vortragstyp Bachelorarbeit
Betreuer(in) Erik Burger
Vortragsmodus in Präsenz
Kurzfassung Generating source code from models is one of the major advantages of a model-driven development process but most of the time this generated code does not suffice and developers are still required to write code by hand. This leads to the question of how to best integrate handwritten and generated code.

Previous authors suggested a number of possible solutions to this problem of integrating handwritten and generated code but the possibilities to objectively compare these alternatives are still limited. Therefore we collected the different analysis criteria suggested by other authors as well as complemented them with additional criteria proposed by senior developers. We then applied these criteria to the possible integration approaches presented by previous authors to create an overview for developers to use when having to choose an integration approach for their model-driven project.

Applying the results of this analysis we chose the best-fitting integration approach for the development of a large industrial development project and found out that migrating to this suggested integration approach would improve the overall software quality regarding complexity, coupling, and cohesion.

Vortragende(r) Kaan Berk Yaman
Titel The Kconfig Variability Framework as a Feature Model
Vortragstyp Bachelorarbeit
Betreuer(in) Christopher Gerking
Vortragsmodus in Präsenz
Kurzfassung The Kconfig variability framework is used to develop highly variable software such as the Linux kernel, ZephyrOS and NuttX. Kconfig allows developers to break down their software in modules and define the dependencies between these modules, so that when a concrete configuration is created, the semantic dependencies between the selected modules are fulfilled, ensuring that the resulting software product can function. Kconfig has often been described as a tool of define software product lines (SPLs), which often occur within the context of feature-oriented programming (FOP). In this paper, we introduce methods to transform Kconfig files into feature models so that the semantics of the model defined in a Kconfig file are preserved. The resulting feature models can be viewed with FeatureIDE, which allows the further analysis of the Kconfig file, such as the detection of redundant dependencies and cyclic dependencies.

Freitag, 31. März 2023, 11:30 Uhr

Ort: Raum 333 (Gebäude 50.34)
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Tobias Telge
Titel Automatisierte Gewinnung von Nachverfolgbarkeitsverbindungen zwischen Softwarearchitektur und Quelltext
Vortragstyp Masterarbeit
Betreuer(in) Jan Keim
Vortragsmodus in Präsenz
Kurzfassung Nachverfolgbarkeitsverbindungen zwischen Architektur und Quelltext können das Wissen über ein System erweitern. Aufgrund des Erstellungsaufwands existieren in Softwareprojekten oft keine oder nur unvollständige Nachverfolgbarkeitsinformationen. Diese Arbeit untersucht einen Ansatz mit zwei Schritten, um automatisiert Nachverfolgbarkeitsverbindungen zwischen Architekturmodellelementen und Quelltext zu generieren. Damit die Erstellung von Nachverfolgbarkeitsverbindungen für verschiedene Programmiersprachen und Architektur-Metamodelle vereinheitlicht wird, werden im ersten Schritt aus den vorliegenden Artefakten Modelle erstellt. Der Quelltext wird dabei in ein von der konkreten Programmiersprache unabhängiges Modell überführt. Dafür wird ein Metamodell verwendet, das auf dem von der OMG spezifizierten KDM basiert. Für den zweiten Schritt werden auf den erstellten Modellen arbeitende Heuristiken und Aggregationen definiert. Diese werden genutzt, um die Nachverfolgbarkeitsverbindungen zu generieren. Die Heuristiken nutzen zum Beispiel Paket-, Pfad-, Namen- und Methoden-Informationen. Die Evaluation des Ansatzes nutzt einen dafür erstellten Goldstandard mit fünf Fallstudien. Es werden Nachverfolgbarkeitsverbindungen für PCM, UML, Java und Shell generiert. Für den Mikro-Durchschnitt des F1-Maßes wird ein Wert von 99,11 % erreicht. Fließt jede Komponente und Schnittstelle in gleichem Maße in den Wert ein, beträgt das F1-Maß 93,71 %. Insgesamt können mit dem Ansatz dieser Arbeit also sehr gute Ergebnisse erzielt werden. Für die TEAMMATES-Fallstudie wird mithilfe mehrerer Quelltextversionen der Einfluss der Konsistenz auf die Ergebnisse untersucht. Der Mikro-Durchschnitt des F1-Maßes ist für die konsistentere Version um 6,05 Prozentpunkte höher. Die Konsistenz kann also die Qualität der Ergebnisse beeinflussen.
Vortragende(r) Ulas Uyanik
Titel GUI-basiertes Testen einer Lernplattform-Anwendung durch Nutzung von Neuroevolution
Vortragstyp Bachelorarbeit
Betreuer(in) Daniel Zimmermann
Vortragsmodus in Präsenz
Kurzfassung Software-Testing ist notwendig, um die Qualität und Funktionsfähigkeit von Softwareartefakten sicherzustellen. Es gibt sowohl automatisierte als auch manuelle Testverfahren. Allerdings sind automatisierte Verfahren, sowie menschliches Testen und skriptbasiertes Testen in Bezug auf Zeitaufwand und Kosten weniger gut skalierbar. Monkey-Testing, das durch zufällige Klicks auf der Benutzeroberfläche gekennzeichnet ist, berücksichtigt die Applikationslogik oft nicht ausreichend.

Der Fokus dieser Bachelorarbeit liegt auf dem automatisierten neuroevolutionären Testverfahren, das neuronale Netze als Testagenten verwendet und sie mithilfe evolutionärer Algorithmen über mehrere Generationen hinweg verbessert. Um das Training der Agenten zu ermöglichen und den Vergleich zum Monkey-Testing zu ermöglichen, wurde eine simulierte Version der Lernplattform Anki implementiert. Zur Beurteilung der Testagenten wurde eine Belohnungsstruktur in der simulierten Anwendung entwickelt. Die Ergebnisse zeigen, dass das neuroevolutionäre Testverfahren im Vergleich zum Monkey-Testing in Bezug auf erreichte Belohnungen signifikant besser abschneidet. Dadurch wird die Applikationslogik im Testprozess besser berücksichtigt.


Freitag, 31. März 2023, 11:30 Uhr

Ort: Raum 348 (Gebäude 50.34)
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Tim Schilpp
Titel Analyzing Different Approaches to Integrating Handwritten and Generated Object-oriented Code
Vortragstyp Bachelorarbeit
Betreuer(in) Erik Burger
Vortragsmodus in Präsenz
Kurzfassung Generating source code from models is one of the major advantages of a model-driven development process but most of the time this generated code does not suffice and developers are still required to write code by hand. This leads to the question of how to best integrate handwritten and generated code.

Previous authors suggested a number of possible solutions to this problem of integrating handwritten and generated code but the possibilities to objectively compare these alternatives are still limited. Therefore we collected the different analysis criteria suggested by other authors as well as complemented them with additional criteria proposed by senior developers. We then applied these criteria to the possible integration approaches presented by previous authors to create an overview for developers to use when having to choose an integration approach for their model-driven project.

Applying the results of this analysis we chose the best-fitting integration approach for the development of a large industrial development project and found out that migrating to this suggested integration approach would improve the overall software quality regarding complexity, coupling, and cohesion.

Vortragende(r) Kaan Berk Yaman
Titel The Kconfig Variability Framework as a Feature Model
Vortragstyp Bachelorarbeit
Betreuer(in) Christopher Gerking
Vortragsmodus in Präsenz
Kurzfassung The Kconfig variability framework is used to develop highly variable software such as the Linux kernel, ZephyrOS and NuttX. Kconfig allows developers to break down their software in modules and define the dependencies between these modules, so that when a concrete configuration is created, the semantic dependencies between the selected modules are fulfilled, ensuring that the resulting software product can function. Kconfig has often been described as a tool of define software product lines (SPLs), which often occur within the context of feature-oriented programming (FOP). In this paper, we introduce methods to transform Kconfig files into feature models so that the semantics of the model defined in a Kconfig file are preserved. The resulting feature models can be viewed with FeatureIDE, which allows the further analysis of the Kconfig file, such as the detection of redundant dependencies and cyclic dependencies.

Freitag, 31. März 2023, 11:30 Uhr

Ort: Raum 333 (Gebäude 50.34)
Webkonferenz: {{{Webkonferenzraum}}}

Vortragende(r) Tobias Telge
Titel Automatisierte Gewinnung von Nachverfolgbarkeitsverbindungen zwischen Softwarearchitektur und Quelltext
Vortragstyp Masterarbeit
Betreuer(in) Jan Keim
Vortragsmodus in Präsenz
Kurzfassung Nachverfolgbarkeitsverbindungen zwischen Architektur und Quelltext können das Wissen über ein System erweitern. Aufgrund des Erstellungsaufwands existieren in Softwareprojekten oft keine oder nur unvollständige Nachverfolgbarkeitsinformationen. Diese Arbeit untersucht einen Ansatz mit zwei Schritten, um automatisiert Nachverfolgbarkeitsverbindungen zwischen Architekturmodellelementen und Quelltext zu generieren. Damit die Erstellung von Nachverfolgbarkeitsverbindungen für verschiedene Programmiersprachen und Architektur-Metamodelle vereinheitlicht wird, werden im ersten Schritt aus den vorliegenden Artefakten Modelle erstellt. Der Quelltext wird dabei in ein von der konkreten Programmiersprache unabhängiges Modell überführt. Dafür wird ein Metamodell verwendet, das auf dem von der OMG spezifizierten KDM basiert. Für den zweiten Schritt werden auf den erstellten Modellen arbeitende Heuristiken und Aggregationen definiert. Diese werden genutzt, um die Nachverfolgbarkeitsverbindungen zu generieren. Die Heuristiken nutzen zum Beispiel Paket-, Pfad-, Namen- und Methoden-Informationen. Die Evaluation des Ansatzes nutzt einen dafür erstellten Goldstandard mit fünf Fallstudien. Es werden Nachverfolgbarkeitsverbindungen für PCM, UML, Java und Shell generiert. Für den Mikro-Durchschnitt des F1-Maßes wird ein Wert von 99,11 % erreicht. Fließt jede Komponente und Schnittstelle in gleichem Maße in den Wert ein, beträgt das F1-Maß 93,71 %. Insgesamt können mit dem Ansatz dieser Arbeit also sehr gute Ergebnisse erzielt werden. Für die TEAMMATES-Fallstudie wird mithilfe mehrerer Quelltextversionen der Einfluss der Konsistenz auf die Ergebnisse untersucht. Der Mikro-Durchschnitt des F1-Maßes ist für die konsistentere Version um 6,05 Prozentpunkte höher. Die Konsistenz kann also die Qualität der Ergebnisse beeinflussen.
Vortragende(r) Ulas Uyanik
Titel GUI-basiertes Testen einer Lernplattform-Anwendung durch Nutzung von Neuroevolution
Vortragstyp Bachelorarbeit
Betreuer(in) Daniel Zimmermann
Vortragsmodus in Präsenz
Kurzfassung Software-Testing ist notwendig, um die Qualität und Funktionsfähigkeit von Softwareartefakten sicherzustellen. Es gibt sowohl automatisierte als auch manuelle Testverfahren. Allerdings sind automatisierte Verfahren, sowie menschliches Testen und skriptbasiertes Testen in Bezug auf Zeitaufwand und Kosten weniger gut skalierbar. Monkey-Testing, das durch zufällige Klicks auf der Benutzeroberfläche gekennzeichnet ist, berücksichtigt die Applikationslogik oft nicht ausreichend.

Der Fokus dieser Bachelorarbeit liegt auf dem automatisierten neuroevolutionären Testverfahren, das neuronale Netze als Testagenten verwendet und sie mithilfe evolutionärer Algorithmen über mehrere Generationen hinweg verbessert. Um das Training der Agenten zu ermöglichen und den Vergleich zum Monkey-Testing zu ermöglichen, wurde eine simulierte Version der Lernplattform Anki implementiert. Zur Beurteilung der Testagenten wurde eine Belohnungsstruktur in der simulierten Anwendung entwickelt. Die Ergebnisse zeigen, dass das neuroevolutionäre Testverfahren im Vergleich zum Monkey-Testing in Bezug auf erreichte Belohnungen signifikant besser abschneidet. Dadurch wird die Applikationslogik im Testprozess besser berücksichtigt.