Fakultät für Informatik

TU München - Fakultät für Informatik
Software- and Systems Engineering Research Group

TUM
 
 

Agenda

Es sprechen Studenten √ľber ihre abgeschlossenen Diplomarbeiten und Systementwicklungsprojekte.

Am Montag, 24.09.18, ab 13:30 Uhr, im Raum Neumann (00.11.038):

ZeitVortragenderTyp(Betreuer)Titel
13:30 - 13:55:Andreas WehrleBA (Benedikt Hauptmann, Maximilian Junker)Automatische Erkennung von Ursachen und Wirkungen in textuellen Anforderungen
13:55 - 14:20:Patrick BassnerBA (Dr. Benjamin Hummel)Error localization in source code using error stacktraces
14:20 - 14:45:Enis CaliskanBA (Dr. Elmar J√ľrgens, Daniel Veihelmann)Extraktion von Interaktionsmodellen
14:45 - 15:10:Adrian HölzlBA (Dr. Tobias Röhm)Automated Extraction of Static References between Source Code and Database
15:10 - 15:35:Alice ReyBA (Dr. Elmar J√ľrgens, Roman Haas)Inkrementelle Berechnung von Graphzentralit√§tsmetriken

Automatische Erkennung von Ursachen und Wirkungen in textuellen Anforderungen

Die Testerstellung mit Hilfe von formalen Diagrammen ist eine bew√§hrte Methode zur strukturierten Erstellung einer Testsuite. Regelorientierte Anforderungen k√∂nnen dabei als Cause-Effect-Graphen dargestellt werden. Da die Erstellung der Graphen ein manueller und somit zeitintensiver Prozess ist, wird diese Methode in der Praxis wenig genutzt. In dieser Bachelorarbeit wird ein Algorithmus vorgestellt der Ursachen und Wirkungen in einer Anforderung erkennt und daraus automatisiert einen ersten Entwurf des Cause-Effect-Graphens erstellt. Durch die Teilautomatisierung des Prozesses kann die Produktivit√§t deutlich gesteigert werden, da der Graph nur noch angepasst und erg√§nzt werden muss, ohne ihn komplett manuell erstellen zu m√ľssen. Dies hat nicht nur eine Erh√∂hung der Produktivit√§t, sondern auch eine Verbesserung der Testqualit√§t zur Folge, da die Tests strukturiert und nachvollziehbar erstellt werden. Der Algorithmus erkannte in der durchgef√ľhrten Studie 52,7% der vorhandenen Ursachen und Wirkungen.

Error localization in source code using error stacktraces

In huge software systems, locating a bug described in a bug report is one of the most time consuming tasks. Such reports are often enriched with a stack trace. However, it is not always trivial to identify the real cause of an exception. To address this problem, we implemented two techniques that alleviate fixing bugs that are described by a stack trace. The first approach uses a statistical analysis on a method call graph to suggest which locations in the stack trace are most likely to contain the error and therefore to be part of the fix. The second approach tracks the state of variables throughout a symbolic execution of the code in order to give hints about their state at the line of the exception. We evaluated our approaches on some bug reports of Teamscale. The results show that the overall usefulness of our first approach is questionable due to low accuracy. The second approach, however, shows an overall usefulness of 76% in our evaluation.

Extraktion von Interaktionsmodellen

Unterschiedliche Stakeholder im Softwareentwicklungsprozess haben h√§ufig auch unterschiedliche Sichten auf dasselbe System. W√§hrend Entwickler typischerweise auf der Ebene von Quellcode und Systemarchitektur denken, kann f√ľr Tester und Endnutzer beispielweise das User Interface die prim√§re Sicht auf ein System darstellen. In der Praxis haben sich eine Reihe von dynamischen und statisches Analysen etabliert, etwa die Ermittlung von Test-Coverage, Code-Nutzungsanalysen oder die Test Gap Analyse. Die zugeh√∂rigen Artefakte beziehen sich oft auf den Quellcode, zum Beispiel Ausf√ľhrungsinformationen f√ľr eine bestimmte Code-Datei. Diese Informationen sind f√ľr Personen ohne Implementierungssicht (z.B. Testmanager) jedoch h√§ufig zu abstrakt, was zu zus√§tzlichem Kommunikationsaufwand und Verz√∂gerungen f√ľhren kann. Hierf√ľr wurde eine Methode entwickelt, die aus dem schwer zug√§nglichen Quellcode ein Modell ableitet, das aus dem User Interface bekannte Interaktionspunkte, wie zum Beispiel Buttons oder Men√ľeintr√§ge, extrahiert und die Codeartefakte darin visualisiert. Das Modell passt sich den Ver√§nderungen des Quellcodes automatisiert an. Als Zielsprache der Extrahierung wurde C# gew√§hlt in Kombination mit XAML-Files, die die Benutzeroberfl√§che in XML-konformer Struktur deklariert.

Automated Extraction of Static References between Source Code and Database

Many existing software systems rely on a relational database for managing their persistent data. However, the software system itself and the database often change independently from each other. This may lead to inconsistencies between them, for instance tables or columns in the database which are not referenced from the source code any longer. To recognize or prevent such inconsistencies, a procedure was developed that extracts all locations in the source code of a project where the database is accessed using the Java Database Connectivity. Furthermore, all referenced database entities are extracted out of the corresponding query expressions and their CRUD type is determined. This serves the ultimate purpose of finding all those tables and columns which are referenced in any location in the code-base to compare them with the ones existing in the database. The presentation illustrates the initial problem, the developed approach and the results of its evaluation.

Inkrementelle Berechnung von Graphzentralitätsmetriken

In the past, graph centrality metrics were already successfully used in static software analysis. The computation of centrality metrics on large graphs typically is very time consuming due to the fact that these metrics have to be recomputed after every change made to the software. The main idea of the incremental software analysis is to speed up the recomputations to be able to give immediate feedback to developers. However, recomputation of centrality measures for every change to a software system is too costly. For practical use of code centrality information in software analysis, incremental calculation approaches are more applicable as they are much cheaper. In this bachelor's thesis we discuss different incremental approaches for calculating the PageRank centrality. In the literature, there can be found incremental approaches for the PageRank computation, but these were made for the analysis of the Web structure. We evaluate their applicability in incremental software analysis.

© Software & Systems Engineering Research Group
Sitemap |  Kontakt/Impressum
Letzte Änderung: 2018-09-18 09:44:40