http://www.tu-ilmenau.de

Logo TU Ilmenau


Ansprechpartner

Prof. Dr. Patrick Mäder (JP)

Fachgebietsleiter

Telefon +49 3677 69-4839

E-Mail senden

Ihre Position

INHALTE
Master- / Bachelorarbeit / Research-Project

Smart Text Summarization im Kontext von Software Requirements Engineering

Details ...

Research-Anteil: ***--  (3/5)

Implementierungsanteil: **---  (2/5)


Das Zusammenfassen von langen Texten zu kürzeren Sequenzen ist eine aktuelles Problem der Forschung. Für dieses Problem werden typischerweise Rekurrente Neuronale Netze (RNN) adressiert. In [1] wird eine Kombination aus RNN und Reinforcement Learning (RL) verwendet, um aktuell beste Resultate für Standard-Evaluierungssets zu erreichen.

Bei der Entwicklung von Software werden Anforderungen (Requirements) textuell verfasst und in Code umgesetzt. Leider müssen Softwareentwickler tagtäglich mit einer Flut von Anforderungen zurechtkommen. Ziel dieser Arbeit ist es diese speziellen Texte zusammenzufassen, um den SW Entwickler zu unterstützen.

In dieser Arbeit sollen die Methoden aus [1] verwendet und im Kontext Software Requirements Enginieering eingesetzt werden.

Anforderungen: Python, TensorFlow/Keras


[1] Y.-C. Chen, M. Bansal, "Fast Abstractive Summarization with Reinforce-Selected Sentence Rewriting", ArXiv2018

Masterarbeit

Optimierung von Multi-X Netzwerken

Details ...

Research-Anteil: ***--  (3/5)

Implementierungsanteil: **---  (2/5)


Evolutionäre Algorithmen konnten bereits erfolgreich zur Architekturoptimierung von neuronalen Netzwerken verwendet werden [1,2]. Ausgehend von einer vorgegebenen Architektur soll in dieser Arbeit ein deutlich leichtgewichtigerer Ansatz entwickelt werden, um Verzweigungstiefe und -parameter von neuronalen Netzwerken mit mehreren Ästen datensatzspezifisch zu optimieren. 

Anforderungen: Python, TensorFlow/Keras


[1] E. Real et al., "Regularized Evolution for Image Classifier Architecture Search", ArXiv 2018

[2] Z. Zhong et al., "BlockQNN: Efficient Block-wise Neural Network Architecture Generation", ArXiv 2018

Research-Project / Seminararbeit

Ausführung von graphischen Tracebility Anfragen

Details ...

Research-Anteil: **---  (2/5)

Implementierungsanteil: ****-  (4/5)


In der Entwicklung von Systemen entstehen eine Vielzahl von Informationen (Artefakten). Die Artefakte sowie deren Zusammenhängen (Traces) bilden die Grundlage zur fundierten Entscheidungsfindung und Ersetzen das berühmte "Bauchgefühl". Nicht zuletzt, wie mehrfach in Studie gezeigt, erhöht das Erfassen von Artefakten sowie der Dokumentation die Qualität im Entwicklungsprozess. Durch die Verwendung von unterschiedlichen Werkzeugen im Entwicklungsprozess sind Artefakte heterogen und nicht einheitlich zugänglich, wodurch ihr praktischer Nutzen sinkt.

Am Fachgebiet wurde eine graphische Modellierungssprache (visual trace modeling language, VTML) entwickelt, mit deren Hilfe Tracebility Anfragen formuliert werden können. Mögliche Anfragen sind beispielsweise "Gibt es im Quellcode Bereiche mit hohem Risiko" oder "Welche implementierten Features betreffen mehr als eine Komponente". Die Ausführbarkeit der Anfragen wurde bislang nur theoretisch gezeigt.

In der Arbeit soll prototypisch die praktische Ausführbarkeit demonstriert werden. Hierzu sollen Anfragen zunächst graphisch modelliert werden können.Anschliessend sind diese durch Transformation, beispielsweise nach SQL oder XQuery, ausführbar gemacht werden. Im letzten Schritt ist das Ergebnis der Anfrage geeignet zu präsentieren.

Zur Umsetzung wird ein Plugin für Enterprise Architect vorgeschlagen.

Neben dem Demonstrator sind die Ergebnisse des Projektes in einer schriftlichen Arbeit zu dokumentieren.

Master- / Bachelorarbeit / Research-Project

Automatische Analyse von Crowdsourced Data

Details ...

Research-Anteil: **---  (2/5)

Implementierungsanteil: ***--  (3/5)


Die für das Trainieren von maschinellen Lernverfahren benötigten Daten werden zunehmend mittels Crowdsourcing beschafft. Da sich "Worker" in ihren Auffassungen und dem Verständnis einer Aufgabe unterscheiden können, kann die durch Crowdsourcing erhöhte Vielfalt der Daten für bestimmte Anwendungen jedoch auch qualitätsmindernd wirken.

Das Ziel dieser Arbeit besteht in der automatischen Analyse von mind. zwei Bilddatenbanken, die jeweils auf Citizen-Science Projekten beruhen. Die Datensätze sollen klassenbasiert hinsichtlich Homogenität, Größe, Vielfalt, Ausreißern und Fehlern untersucht werden.

Anforderungen: Python, TensorFlow/Keras

Bachelor- / Masterarbeit / Research-Project

Evaluierung verschiedener Matchingmethoden für NLP

Details ...

Ziel: Zutaten von Zutatenlisten auf den passenden Eintrag im Bundeslebensmittel (beschreibt Nährwerte, Mineralstoffe, Mikronährstoffe) mappen.

Problem: Zutatenlisten sind fehlerbehaftet, schließen Synonyme und unterschiedliche Bezeichnungen und Spezifizierungen ein. Somit ist das Mapping nicht trivial. In dieser Arbeit sollen verschiedene String Mapping Methoden (NLP, Machine Learning Ansätze) recherchiert werden und dabei geprüft, welche Verfahren sich am besten eignen. Es sollen 1-2 Methoden ausgewählt, umgesetzt, und evaluiert werden.

Masterarbeit / Research-Project

Static Code Analysis

Details ...

Research: ****- (4/5)

Programming: **--- (2/5)


Static code analysis allows to gain insights of software systems with actual running executing the program. Different task can be performed, like counting classes and methods [1], deriving complexity metrics, and even create call graphs [2]. The retrieved data and artefacts can be used o enrich existing trace graphs containing issue mined from issues trackers and source code file names from version control systems. As a result, high level relationships from feature and bug reports down to the code level can be studied.

The task is to research the ares of static code analysis especially for java programs. Furthermore existing tools should be evaluated. There, one focus their applicability on large scale software systems spanning several years of development.


[2] https://github.com/gousiosg/java-callgraph

Research-Project / Bachelorarbeit

Analyse der „Active Days“ von Entwicklern zur Schätzung des Entwicklungsaufwandes

Details ...

Die möglichst präzise Schätzung des Entwicklungsaufwandes in Software Projekten ist bereits seit Jahrzehnten ein wichtiges Softwaretechnik Problem für Wissenschaftler und Software Entwickler. Besonders für die Planung von Softwareprojekten, Budgets und Investitionen ist eine präzise Aufwandsschätzung notwendig, um die anfallenden Kosten der Softwareentwicklung bestimmen zu können.

In jüngerer Vergangenheit habe Studien mit dem OpenStack Software Repository gezeigt, dass der Software Entwicklungsaufwand anhand der „Git Active Days“ der beteiligten Entwickler geschätzt werden konnte [1,2].

Im Rahmen der Arbeit soll untersucht werden, ob der in [1,2] publizierte Ansatz zur Schätzung der „Active Days“ der beteiligten Software Entwickler eines Open Source Projektes weiter verfeinert werden kann, indem zusätzliche Informationen des Softwareprojektes analysiert werden.

Am Lehrstuhl „Softwaretechnik für Sicherheitskritische Systeme“ wurde bereits eine Umfangreiche Datenbank mit diesen zusätzlichen Informationen über eine Vielzahl von Open Source Projekten aufgebaut, die in den bisherigen Schätzverfahren noch nicht zum Einsatz kamen. Auf Basis dieser Daten soll ein verfeinertes Schätzverfahren entwickelt werden. Außerdem soll die Genauigkeit dieses verfeinerten Schätzverfahrens im Rahmen einer empirischen Studie mit den beteiligten Entwicklern der untersuchten Softwareprojekte evaluiert werden.


[1] Robles, Gregorio, Jesús M. González-Barahona, Carlos Cervigón, Andrea Capiluppi, and Daniel Izquierdo-Cortázar. “Estimating Development Effort in Free/Open Source Software Projects by Mining Software Repositories: A Case Study of OpenStack”, 222–31. ACM Press, 2014. doi:10.1145/2597073.2597107.

[2] S. Thursfield, P. Sherwood. „Git Active Days“, Online: https://github.com/CodethinkLabs/research-git-active-days

Masterarbeit / Research-Project

Untersuchung verbesserter Evaluierungsmetriken für GANs

Details ...

Research-Anteil: ****-  (4/5)

Implementierungsanteil: ***--  (3/5)


Aktuell wird die Güte von Generative Adversarial Networks (GANs) mit Hilfe von zwei Metriken quantifiziert, die auf der Statistik entweder von bedingten Wahrscheinlickeiten und Häufigkeitsverteilungen [1] beruht, oder auf visuellen Abständen [2].

Im Rahmen dieser Masterarbeit sollen zwei algebraische Erweiterungen dieser Metriken implementiert und untersucht werden.

Anforderungen: Python, TensorFlow/Keras


[1] T. Salimans et al., "Improved techniques for training gans", NIPS 2016

[2] M. Heusel et al., "GANs Trained by a Two Time-Scale Update Rule Converge to a Local Nash Equilibrium", NIPS 2017

Bachelor- / Masterarbeit / Research-Project

Stationäre vs. rekurrente Fusion in neuronalen Netzwerken

Details ...

Research-Anteil: ****-  (4/5)

Implementierungsanteil: ***--  (3/5)


Ereignisse mit mehreren Instanzen, z.B. verschiedene Bilder eines Objekts, können sehr effektiv innerhalb von neuronalen Netzwerken verarbeitet werden um z.b. die Genauigkeit von Klassifikatoren durch Fusion der Instanzen zu erhöhen. Die Netzwerkarchitektur kann dafür stationär an die (bekannte und konstante) Anzahl an Instanzen angepasst werden.

Im Rahmen dieser Arbeit soll anstelle der stationären Fusion ein rekurrentes Netzwerk basierend auf bidirektionalen GRUs verwendet und vergleichend evaluiert werden.

Anforderungen: Python, TensorFlow/Keras

Hauptseminar / Bachelorarbeit

Independently Recurrent Neural Network (IndRNN)

Details ...

Research-Anteil: ***--  (3/5)

Implementierungsanteil: **---  (2/5)


Rekurrente Neuronale Netze (RNN) haben die Fähigkeit Input Sequenzen (z.B. Text - Sequenze von Wörtern, Video - Sequenze von Bildern) zu verarbeiten und am Ausgang eine neue Sequenze zu erzeugen. Es gibt spezielle Ablager bzw. Weiterentwicklungen von RNNs, die sogenannten Long-Short-Term-Memory (LSTM) oder Gated Recurrent Unit (GRU), welche mehrere Probleme vom RNNs behandeln.

Das Problem bei all diesen Netzen liegt darin, dass man wegen des "gradient vanishing and exploding" Problems KEINE tiefen Netze konstruieren kann. Independently Recurrent Neural Network (IndRNN) [1] geht dieses Problem an und zeigt äußerst positive Ergebnisse. Daher soll es in dieser Arbeit untersucht werden.

Inhalte dieser Arbeit:

  • Warum sind IndRNN so besonders?
  • Wie funktionieren sie?
  • Anhand von nachimplementierten Beispielen ([1], [2]) sollen die Erkenntnisse bestätigt/wiederlegt werden.
  • Optional: Es soll mit einem eigenen zusätzlichen Experiment auf Daten des Fachgebietes das Sequence-to-Sequence Problem untersucht werden.

Anforderungen: Python, TensorFlow/Keras


[1] Li et al., "Independently Recurrent Neural Network (IndRNN): Building A Longer and Deeper RNN", ArXiv2018

[2] Bai et al., "An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling", ArXiv2018