Im Projekt QualiTune [1] vom Lehrstuhl Softwaretechnologie der Informatik-Fakultät suchen wir einen fitten Studenten, der bei Großen Beleg/Master Arbeit/Diplomarbeit folgendes Thema bearbeiten möchte.

Durchführung einer Entwicklerstudie zum Ermitteln von Quality Smells und deren Beseitigung auf Android-Systemen

Beschreibung
Softwareentwicklungsprozesse in der Praxis beinhalten immer den Iterationsschritt Implementierung aber oft auch den Iterationsschritt Optimierung. In der Implementierung liegt der Fokus auf den funktionalen Anforderungen während Entwickler sich bei der Optimierung auf nichtfunktionale Anforderungen – oder auch Qualitäten genannt – konzentrieren. Ziel dabei ist es, das bisher entwickelte System dahingehend zu optimieren, dass die Erfüllung bestimmter Qualitätsanforderungen verbessert wird. Dabei darf jedoch das innere Verhalten des Systems nicht verändert werden. D.h., die funktionalen Anforderungen müssen nach der Optimierung immer noch erfüllt sein. Zur Veranschaulichung sind folgende zwei Beispiele zu nennen:
  1. Client-Server-Kommunikation wurde fertig entwickelt und in der Optimierung soll die Antwortzeit reduziert werden. Die Qualität würde Geringe Antwortzeit heißen.
  2. Eine mobile Applikation erfüllt alle funktionalen Anforderungen und wird in Hinblick auf den Energieverbrauch des mobilen Gerätes optimiert. Die Qualität heißt Energieeffizienz.
Konkrete „Stellen“ im Programm-Code, die bestimmte Qualitätsanforderungen nur schlecht oder wenig erfüllen werden Quality Smells genannt. Werden diese aufgespürt so ist es oft möglich, mittels der Technik des Refactoring den „schlechten Geruch“ zu entfernen und dabei das funktionale Systemverhalten nicht zu verändern.

Im Rahmen des Forschungsprojekts QualiTune wurde das Werkzeug Refactory [2] entwickelt, mit dem es möglich ist, den Entwickler in der Optimierungsphase zu unterstützen. Refactory erlaubt es, Quality Smells auf Basis von Metriken oder mit Hilfe abstrakter Strukturdefinitionen aufzuspüren und anschließend mittels vorher definierter Refactorings zu beseitigen.

Auf Grundlage dieser Vorbetrachtung soll in der studentischen Arbeit eine Studie unter Software-entwicklern für Android-Systeme durchgeführt werden um weitere Quality Smells identifizieren und entsprechende Refactorings formulieren zu können. Der Fokus soll dabei auf der Qualität „Energieeffizienz“ liegen. Es ist selbst zu erarbeiten, welche Art Studie durchgeführt wird. Wichtig dabei ist, dass in Kooperation mit den Teilnehmern die folgenden Teilaufgaben zu bearbeiten sind:
  • Einarbeitung in das Thema und verwandte Arbeiten
  • Evaluation der Art der Studie, mit dem Ziel, neue Quality Smells und entsprechende Refactorings zum Auflösen der Smells in Kooperation mit den Teilnehmern der Studie zu identifizieren
  • Erarbeitung und Durchführung der Studie mit mehreren Nutzern über einen festgelegten Zeitraum
  • Umsetzung (Spezifikation) ausgewählter Quality Smells und Refactorings mit Hilfe des Werkzeugs Refactory
  • Auswertung der Studie und Bewertung der Ergebnisse

Verantwortlicher Hochschullehrer: Prof. Dr. rer. nat. habil. Uwe Aßmann
Betreuer: Dipl.-Inf. Jan Reimann (jan.reimann at tu-dresden.de)

[1] http://www.qualitune.org
[2] http://www.modelrefactoring.org