Zur Webseite der Informatik

Programming Languages and Compiler Group

Student Theses

Quite often we have topics for bachelor or master theses that are not yet offered officially. If you are interested in topics related to program analyses, program understanding, real-time systems, reverse engineering or reengineering, please contact us.

Please have a look at postings on the Programming Languages department notice board or ask Timm Felden for additional topics!

Currently in progress

 


Complete

2018

Datarace Analyse in SKilL/Bauhaus, MA [Aufgabenstellung]

Design und Implementierung eines Linkers für SKilL/Bauhaus, MA [Aufgabenstellung]

Skilled LLVM, MA [Aufgabenstellung]

2017

Sprachunabhängiges Testen sprachunabhängiger Serialisierung (Projekt INF) [Aufgabenstellung]

SKilL-Graphvisualisierung und -manipulation, DA [Aufgabenstellung]

Reengineering einer Zeigeranalyse, DA

MatLab/Simulink Model Generation from a Database, MA

Empirische Bewertung verschiedener Ansätze der Datenflussanalyse, DA

2016

SKilLed Bauhaus, MA [Aufgabenstellung]

Anbindung von SKilL an Haskell, BA [Aufgabenstellung]

Modelle und Paradigmen für Geschäfstlogik, MA [Aufgabenstellung]

Development of Model based Differ and Merge Features in AMALTHEA Tool Platform, MA

Serialisierung fremder Typen mit SKIlL, MA [Aufgabenstellung]

Prototypenentwicklung mit Bauhaus und SKIlL, MA [Aufgabenstellung]

Bauhaus Analysis Driver, BA [Aufgabenstellung]

Partielle Normalisierung des Programmkontrollflusses, SA [Aufgabenstellung]

Automatisierter Vergleich von Codeklonerkennungsergebnissen, BA 262 [Aufgabenstellung]

Erkennung semantischer Klone mittels Locality-Sensitive-Hashing charakteristischer Vektoren, DA [Aufgabenstellung]

2015

SKilL vs. XML: Performanz von Serialisierungskonzepten, SA [Aufgabenstellung]

Zustandsverwaltung mit SKilL, BA [Aufgabenstellung]

Advanced Multi-core Simulation of Real-Time Embedded Systems, MA [Aufgabenstellung]

Reduktion des Speicherverbrauchs generierter SKilL-Zustände, MA 19 [Aufgabenstellung]

2014

Untersuchung der Erweiterung von Java 8 um Lambda, BA [Aufgabenstellung]

Verzögerte Serialisierung mit SKilL und Haskell, DA [Aufgabenstellung]

Plattform- und sprachunabhängige Serialisierung mit SKilL, DA 3665 [Aufgabenstellung]

Analysis and Simulation of Scheduling Techniques for Real-Time Embedded Multi-core Architectures, MA 3578 [Aufgabenstellung]

Nutzbarkeitsevaluation einer sprach- und plattformunabhängigen Serialisierungssprache, DA 3603 [Aufgabenstellung]

Revision eines interaktives Planungssystems für Ausbildungskurse, DA 353 [Aufgabenstellung]

Language Independent Modelling of Parallelism, MA 3554 [Aufgabenstellung]

Simulation of Multi-core Scheduling in Real-Time Embedded Systems, MA 3556 [Aufgabenstellung]

Performance-Evaluation einer sprach- und plattformunabhängigen Serialisierungssprache, BA 106 [Aufgabenstellung]

Berechnung und Darstellung der Verwendungshäufigkeiten von programmiersprachlichen Konzepten, BA 88 [Aufgabenstellung]

2013

Paradigmenübergreifende Quelltexttransformation von Haskell nach Ruby, SA 2420 [Ausarbeitung]

Analysis of Cache Usability on Modern Real-Time Systems, MA 3409

Visualization of Scheduling in Real-Time Embedded Systems, MA 3372 [Ausarbeitung]

Kombinierung von Programmiermodellen in Bauhaus IML, DA 3357 [Ausarbeitung]

2012

Eine SCR-Spracherweiterung für Enterprise Architect - "An SCR-Extension for Enterprise Architect", DA 3345 [Ausarbeitung]

2011

Entwicklung und Implementierung eines nebenläufigen Constraint-Solver für die Points-To-Analyse . SA 2330 [Ausarbeitung]

2010

Entwurf und Implementierung der Klonerkennung mittels Suffix-Arrays. DA 3066 [Aufgabenstellung]

Identifikation und Extraktion relevanter Kenngrößen aus IML-Graphen. DA 3003 [Aufgabenstellung]

Statische Erkennung von Synchronisationsfehlern bei zusammengesetzten Daten in nebenläufigen Programmen. DA 2947 [Aufgabenstellung]

2009

Erzeugung der Bauhaus-Zwischendarstellung für große Programme. DA 2918

Ein LaTeX-Übersetzer : (a LaTeX compiler). DA 2754

Program Slicing zur Beurteilung der Auswirkungen von Data Races. SA 2213 [Aufgabenstellung]

2008

Statische Erkennung von Deadlocks in Thread-Trace-Graphen. DA 2815 [Aufgabenstellung]

Visualisierung von Race conditions in nebenläufigen Programmen. DA 2786 [Aufgabenstellung]

Eine adaptive Steuerung für statische Programmanalysen. DA 2756

Kombinierte statische Analysen. DA 2737 [Aufgabenstellung]

Statische Analyse von Programmen mit Bibliotheken. DA 2707 [Aufgabenstellung]

Konzeption und Implementierung einer Wert-Propagierung für IML. DA 2695 [Aufgabenstellung]

Verbesserung statischer Analysen in praxisrelevanten Faellen. DA 2656

2007

Konzeption und Implementierung einer Escape-Analyse für IML. DA 2637 [Aufgabenstellung]

Analyse der Struktur von Software-Protokollen. DA 2591 [Aufgabenstellung]

Impact of methods and mechanisms for improving software dependability on non-functional requirements. DA 2548

lgorithmen zur Berechnung von Kontrollabhängigkeiten. SA 2122 [Aufgabenstellung]

Generierung der Zwischendarstellung RFG aus Modula-2. SA 2112 [Aufgabenstellung]

Schwierigkeiten für statische Programmanalysen in der Praxis. SA 2108

NgTeX Dokumentenerstellung als Übersetzungsvorgang mit modernen Konzepten. SA 2102

Analyse von Buildprozessen. SA 2098

2006

Konzeption und Implementierung eines Verfahrens zur Prüfung von Coderichtlinien mittels Mustererkennung. DA 2468 [Aufgabenstellung]

Evaluierung von Programmanalysewerkzeugen für die sichere Integration von Fremdsoftware in Kfz-Steuergeräte. DA 2440

Generierung der Zwischendarstellung IML aus Java Classfiles.  DA 2417 [Aufgabenstellung]

Implementierung einer auf Binary Decision Diagrams basierenden Zeigeranalyse für C. DA 2390 [Aufgabenstellung]

Konzeption und Implementierung einer Zeigeranalyse für C und C++. DA 2374

Statische Analyse von GUI-Programmen. SA 2059 [Aufgabenstellung]

2005

Lock-basierte statische Erkennung von Race Conditions in parallelen Programmen. DA 2326 [Aufgabenstellung]

Layoutalgorithmen für hierarchische Graphen. DA 2324 [Aufgabenstellung]

Generierung der Zwischendarstellung IML für Ada95 Programme. DA 2323 [Aufgabenstellung]

Ein Planungssystem für örtlich verteilte Ausbildungskurse. DA 2307 [Aufgabenstellung]

Anbindung eines C++-Analysators an Bauhaus/RFG. DA 2273

Kontrollflussanalyse objektorientierter Programme. DA 2212  [Aufgabenstellung]

Semi-Automated Mapping for the Reflexion Method. DA 2160

Implementierung einer Anfrageschnittstelle für ASIS zur Generierung von IML. SA 1968 [Aufgabenstellung]

2004

Quellcode-Navigation in Gravis. DA 2202 [Aufgabenstellung]

Extraktion statischer Abhängigkeiten aus Ada95-Programmen mittels ASIS. DA 2200 [Aufgabenstellung]

Visualisierung von Metriken mit GraVis. DA 2189

Konzeption und Implementierung eines Werkzeugs zur Erhebung von Produktmetriken.

Konzeption und Implementierung einer abstrakten Anfrage- und Manipulationssprache für den Resource-Flow-Graph. DA 2182

Semiautomatische Entfernung des duplizierten Codes. DA 2176 [Aufgabenstellung]

Integration der Merkmallokalisierung. DA 2145 [Aufgabenstellung]

Werkzeuggestützte Herleitung von Protokollen. DA 2135 [Aufgabenstellung]

Konzeption und Implementierung eines Quellcode-Navigators. DA 2128

Implementierung einer unifizierenden Zeigeranalyse mit gerichteten Zuweisungen. SA 1941 [Aufgabenstellung]

Konzeption und Generierung eines Resource-Flow-Graphs für Cobol. SA 1915 [Aufgabenstellung]

2003

Erweiterung und Generierung der Zwischendarstellung IML für C++ Programme. DA 2048

Einbindung einer Skriptsprache für Gravis. SA 1879

2002

Erweiterung und Generierung der Zwischendarstellung IML für Java-Programme . DA 2006

Vergleich von Techniken zur Erkennung duplizierten Quellcodes. DA 1998 [Aufgabenstellung]

Prozessmodelle für die Rekonstruktion von Software-Architektursichten. DA 1987

Repräsentation von Makros in IML. SA 1851 [Aufgabenstellung]

RFG Generierung mit ASIS. SA 1832

2001

Extraktion statischer Traces unter Berücksichtigung vonPoints-To-Informationen zur Konnektorerkennung und -beschreibung. DA 1940 [Aufgabenstellung]

Möglichkeiten von Reverse-Engineering zur Entwicklung eines Zahlungsverkehrssystems für Klein- und Großbanken. DA 1933 [Aufgabenstellung]

Vergleichende Implementierung einer verteilten Anwendung unter Benutzung von CORBA/IIOP, RMI/RPC oder JSP. DA 1924 [Aufgabenstellung]

Entwicklung einer Flex-Schnittstelle für einen Scanner Generator. DA 1903  [Aufgabenstellung]

2000

Beschreibung einer halb-automatisch abgeleiteten Architektur mit UML-Ausdrucksmitteln. DA 1858 [Aufgabenstellung]

Komponentenerkennung durch Begriffsanalyse. DA 1855

Entwicklung einer "Role Playing Definition Language" (RPDL). DA 1848 [Aufgabenstellung]

Semi-automatische Herleitung von Komponentenprotokollen aus statischen Verwendungsmustern. DA 1822

Statisches interprozedurales Program Slicing. SA 1786

Extraktion statischer Traces zur Wiedergewinnung von Protokollen. SA 1768

1999

Disambiguierung in der Static-Single-Assignment-Form. DA 1792

Untersuchung typischer Verwendungsmuster von Variablen zur Erprobung eines Variablenmodells ohne parameter-induzierte Aliaseffekte. SA 1740

Ada im praktischen Einsatz. SA 1661

1998

A SUIF Java Compiler. DA 1617

Entwurf und Implementierung eines Scanner-Generators zur Erzeugung direkt-programmierter Scanner. DA 1593

Der Einfluß programmiersprachlicher Regeln und Konzepte auf die Disambiguierung von Variablenzugriffen. SA 1697

Implementierung eines Earley-Parsergenerators. SA 1679

GropiusSE. Eine Resource Flow Graph Bibliothek in Ada95 für das Speichern und Aufbereiten von Reengineeringinformationen. SA 1663

Erweiterung und Generierung einer Zwischendarstellung für C-Programme.  SA 1662

1997

Implementierung eines modifizierten Variablenmodells zur Vermeidung Parameter-induzierter Alias-Effekte auf Basis des GNU Ada 95 Compilers. DA 1555

Verfeinerte Strukturierungselemente für objektorientierte Programmiersprachen. DA 1524

Entwurf und Implementierung eines Backends für die objektorientierte Sprache Hoopla. DA 1538

Entwurf und Implementierung einer Grafikprogrammiersprache zur Visualisierung musikalischer Werte. DA 1488

Implementierung eines Eiffel-Compilers für Sun/SPARC. DA 1484

Einsatz von Standard-HTML-Browsern in einer CORBA-Umgebung - Konzeption und prototypische Realisierung. DA 1476

Type-Checking and Overloading-Resolution for Hoopla. DA 1386

LR(1)-Parsing mit LALR(1)-Parsern. SA 1621

Entwicklung eines C-Front-Ends. SA 1599

1996

Automatische Erzeugung von Syntaxbäumen für einen Compilergenerator. DA 1434

Entwurf eines graphen-orientierten Typkonzeptes. DA 1350

Visualisierung von dynamischen Datenstrukturen. DA 1343

Spezifikation eines Grapheneditors. SA 1584

Effiziente Implementierung endlicher Automaten - eine praktische Untersuchung. SA 1577

Entwurf und Implementierung einer Interndarstellung für die Analyse von Ada Programmen.  SA 1567

Entwurf und Implementierung einer make-Funktion für den GNU Ada Compiler GNAT. SA 1527

Eine Untersuchung über Häufigkeit und Kontext von Aliasing in Ada-Programmen. SA 1526

Unstrukturierter Kontrollfluß in C? - Eine praktische Untersuchung. SA 1521

1995

Generierung von fehlerbehandelnden Parsern für Query-Output Sprachen aus benutzernahen Spezifikationen. DA 1308

Entwurf und Implementierung eines verteilten Laufzeitsystems für einen DHOP-Übersetzer. DA 1264

Entwurf und Implementierung der Codeerzeugung für einen DHOP-übersetzer. DA 1263

Erweiterungen des Typsystems der verteilten Programmiersprache DHOP. DA 1248

Ein Werkzeug zur Transformation kontextfreier Grammatiken in LALR(1). DA 1246

Implementierung eines LR(k)-Parsergenerators. SA 1491

Unstrukturierter Kontrollfluß in Ada? - Eine praktische Untersuchung. SA 1488