Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title ChangeAdvisor: A tool for Recommending and Localizing Change Requests for Mobile Apps based on User Reviews
Organization Unit
Authors
  • Alexander Hofmann
Supervisors
  • Harald Gall
  • Sebastiano Panichella
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2017
Abstract Text User feedback plays a paramount role in the development and maintenance of mobile applications. The experience an end-user has with an app, is a key concern when creating and maintaining a successful product. Consequently, developer teams need to incorporate opinions and feedback of end-users in the evolutionary process of their software, in order to meet market requirements. However, existing app distribution platforms provide limited support for developers to systematically filter, aggregate, and classify user feedback to derive requirements. Moreover, manually reading each user review to gather useful feedback is not feasible, considering the sheer amount of reviews popular apps have received and continue to receive day after day. Even then, the gathered information is restricted to user reviews, and no systematic way exists to link user feedback to the related source code components to be changed, a task that requires an enormous manual effort and is highly error-prone. To fill this void, Palomba et al. [PSC+ 18] introduced ChangeAdvisor, an approach able to cluster user reviews, useful for software maintenance tasks, into topics, in order to recommend developers, which source code entities to change. This already greatly simplifies the work for the developer, as it is not necessary anymore to sift through the reviews, divide them in valuable or valueless feedback, then try to figure out, which source code component is affected from the proposed changes. However ChangeAdvisor, until now, existed only as a Proof of Concept, which was limited in terms of extensibility and maintainability, as well as in functionality. Thus, this thesis implements ChangeAdvisor as a library, in order to support future extensions of the approach, as well as a client-server application, to allow developers to fully leverage the power of the information contained in user feedback.
Zusammenfassung Das Benutzerfeedback spielt eine wichtige Rolle bei der Entwicklung und Wartung von Mobile Apps. Die Erfahrung, die ein Endbenutzer mit einer App hat, ist einer der wichtigsten Punkte bei der Entwicklung und Wartung eines erfolgreichen Produkts. Aus diesem Grund müssen Entwicklerteams Meinungen und Feedbacks von End-Usern in den Entwicklungsprozess ihrer Software einfliessen lassen, um den Marktanforderungen gerecht zu werden. Bestehende App Stores bieten Entwicklern jedoch nur begrenzte Unterstützung, um Benutzerfeedbacks systematisch zu filtern, zu aggregieren, und zu klassifizieren. Ebenso fehlt es an Techniken, um aus diesen Feedbacks Anforderungen an das Produkt herzuleiten. Ausserdem ist das Lesen jener Feedbacks nicht praktikabel, wenn man die Menge an täglichen Bewertungen für beliebte Apps berücksichtigt. Selbst wenn die Menge an Bewertungen kein Problem wäre, sind die gesammelten Informationen auf Benutzerbewertungen beschränkt und es gibt keine Möglichkeit die Benutzerfeedbacks mit den zu ändernden Quellcode-Komponenten systematisch zu verlinken. Dies wäre nur mit enormen manuellem Aufwand zu ermöglichen und wäre sehr fehleranfällig. Um diese Lücke zu füllen, führte Palomba et al. [PSC+ 18] ChangeAdvisor ein. Der ChangeAdvisor Ansatz erlaubt es, Benutzerfeedbacks, welche für die Softwarewartung nützlich sind, nach Themen zu gruppieren. Dank diesen Themengruppen sehen die Entwickler welche Quellcode-Komponenten verbessert werden sollten. Dadurch wird die Arbeit der Entwickler bereits vereinfacht, da es nicht mehr notwendig ist die Reviews manuell zu durchsuchen, zu unterteilen und den Quellcode-Komponenten zuzuordnen. Bisher war ChangeAdvisor nur ein Proof of Concept, welcher in Bezug auf Wartbarkeit, Erweiterbarkeit und Funktionalität sehr eingeschränkt war. In dieser Bachelorarbeit wird ChangeAdvisor deshalb als Softwarebibliothek implementiert, um zukünftige Erweiterungen zu unterstützen. Zusätzlich wurde eine Client-Server App implementiert, welche es Entwicklern erlaubt die gesamten Informationen aus Benutzerfeedbacks zu nutzen.
PDF File Download
Export BibTeX