http://www.tu-ilmenau.de

Logo TU Ilmenau


Softwaretechnik für sicherheitskritische Systeme


headerphoto Softwaretechnik für sicherheitskritische Systeme
Ansprechpartner

Prof. Dr. Patrick Mäder (JP)

Fachgebietsleiter

Telefon +49 3677 69-4839

E-Mail senden

Ihre Position

INHALTE

Masterarbeit

Feingranulare Detektion von Objekten mit Exemplar-SVMs und regionenbasierten ConvNets

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/Group Studies

Entwicklung einer Virtual Reality Umgebung als Platform für Nutzerstudien

Details ...

  • Gängige Methoden vergleichen und eine wählen: Photogrammetrie, 3D-Scanner, ...
  • 3D Pflanzenmodelle erstellen
  • Entwicklung der VR Umgebung

Bachelorarbeit (Seminararbeit)

Performancevergleich von Deep Learning Frameworks

Details ...

Recherche und Performancevergleich verschiedener deep learning frameworks wie caffe, torch, tensorflow etc. anhand gleichartiger Aufgaben wie Mustererkennung oder Spracherkennung et cetera. Das Thema wird anhand persönlicher Präferenzen zugeschnitten.

Benötigtes Wissen: Theorie: neuronale Netzwerke – Praxis: python, matlab, c, c++

Literatur:

Schmidhuber, Jürgen. "Deep learning in neural networks: An overview." Neural Networks 61 (2015): 85-117.

Szegedy, Christian, et al. "Going deeper with convolutions." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.

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.

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

Masterarbeit (Bachelorarbeit)

Evaluierung existierender neuronaler Netze für die Pflanzenerkennung

Details ...

Recherche, Training, Test und Evaluierung der Ergebnisse gängiger Netzwerke (AlexNet, LeNet etc.) auf Bilderkennungs-Aufgaben, unter Verwendung bekannter Datensätze (Oxford Flower 17,102 etc.) unter Verwendung von Fine-Tuning-Ansätzen. Das Thema wird anhand persönlicher Präferenzen zugeschnitten.

Benötigtes Wissen: Theorie: neuroyale Netzwerke – Praxis: python, matlab, c, c++

Literatur:

Szegedy, Christian, et al. "Going deeper with convolutions." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.

Masterarbeit (Bachelorarbeit)

Reinforcement für neuronale Netzwerke

Details ...

Recherche und Implementierung von Reinforcement für neuronale Netzwerke. Evaluierung der Erkenntnisse anhand bekannter Datensätze (Oxford Flower 17,102 etc.) Das Thema wird anhand persönlicher Präferenzen zugeschnitten.

Benötigtes Wissen: Theorie: neuroyale Netzwerke – Praxis: python, matlab, c, c++

Literatur:

Stollenga, Marijn F., et al. "Deep networks with internal selective attention through feedback connections." Advances in Neural Information Processing Systems. 2014. Schmidhuber, Jürgen. "Deep learning in neural networks: An overview." Neural Networks 61 (2015): 85-117.

Research project (Bachelorarbeit)

Analyse der „Active Days“ von Entwicklern zur präzisen Schätzung des Entwicklungsaufwandes in Open-Source Software Projekten

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.

Literatur:

[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