Volltextdatei(en) vorhanden
Titel: Improving the Quality of User Feedback for Continuous Software Evolution
Sonstige Titel: Verbesserung der Benutzer-Feedback-Qualität für kontinuierliche Software-Entwicklung
Sprache: Englisch
Autor*in: Martens, Daniel
Schlagwörter: User Feedback; Feedback Quality; Data Analytics; Context-aware Adaptive Systems; App Store Analytics; Data-Driven Requirements Engineering
GND-Schlagwörter: Datenanalyse; Datenauswertung; Maschinelles Lernen; Social Media; Requirements engineering; Qualitative Methode; Quantitative Methode
Erscheinungsdatum: 2020
Tag der mündlichen Prüfung: 2020-05-20
Zusammenfassung: 
With the emergence of app stores and social media, also non-technical users began to frequently and informally communicate with developers. User feedback contains requirements-related information, such as bug reports or feature requests. This information is of great potential to developers as it allows them to develop software systems according to users' needs. We identified two central problems regarding the quality of user feedback that prevent its automated analysis and, therefore, integration into continuous software evolution processes, such as DevOps. First, in an explorative study, we found that user feedback includes fake information, which might lead to wrong insights about real users' needs. Second, in an empirical study, we showed that user feedback often misses basic context information, such as the concerned platform, and is therefore likely to be non-actionable to developers.

This dissertation has two main contributions. First, we develop automated approaches to check and increase the quality, i.e., authenticity and actionability, of user feedback. To support developers in understanding real users' needs, we compare fake to regular app reviews. Based on the identified differences, we develop, optimize, and evaluate a machine learning classifier to detect fake reviews. To assist developers in understanding and reproducing reported user feedback, we propose two complementary solutions to augment the feedback with context information automatically. The first approach augments newly created user feedback with context information implicitly captured during app executions. The second approach is based on a chatbot that mines user-developer conversations to identify and explicitly request missing context items. We describe the implementation of the context extraction approach and evaluate it on a manually labelled truthset.

The second main contribution integrates the quality-improved user feedback into continuous software evolution processes. To support developers in understanding the provided context information, we introduce a crowdsourcing approach. If an anomaly is not immediately visible, such as specific steps within long interaction traces, our approach isolates, i.e., highlights relevant and hides irrelevant, context items. To assist developers in monitoring users' satisfaction with evolutionary app changes, we discuss the use of sentiment analysis tools. We identify recurring emotional patterns by applying sentiment analysis tools to user feedback. By comparing these with corresponding app updates, we derive appropriate app release strategies.

We evaluate the identification of fake reviews in an in-the-wild experiment. Given a proportional distribution of fake and regular reviews as reported in other domains, our classifier to detect fake reviews achieved a recall of 91% and AUC/ROC value of 98%. Further, we evaluate the usefulness of context information in real user feedback with 16 experienced iOS developers. In experiments, developers reproduced four real bugs of open-source apps, as described in app reviews. We found that given context information, developers have an improved understanding of and ability to reproduce bugs. Developers require, on average, 46% less time and 78% fewer interactions considering context information. Simulations confirmed that our approach to capture context information automatically does not introduce observable runtime overhead. In interviews, we collected developers' concerns and possible improvements.

Mit dem Aufkommen von App Stores und sozialen Medien begannen auch technisch nicht versierte Nutzer häufig informell mit Entwicklern zu kommunizieren. Das Feedback der Benutzer enthält anforderungsbezogene Informationen, wie z.B. Fehlerberichte oder Funktionswünsche. Diese Informationen sind für Entwickler von großem Potential, da sie es ihnen ermöglichen, Softwaresysteme entsprechend der Bedürfnisse der Nutzer zu entwickeln. Wir haben zwei zentrale Probleme hinsichtlich der Qualität des Nutzerfeedbacks identifiziert, die eine automatisierte Analyse und damit die Integration in kontinuierliche Software-Evolutionsprozesse, wie z.B. DevOps, verhindern. Zum einen haben wir in einer explorativen Studie festgestellt, dass Nutzerfeedback gefälschte Informationen enthält, die zu irreführenden Erkenntnissen über die tatsächlichen Bedürfnisse der Nutzer führen können. Zweitens haben wir in einer empirischen Studie gezeigt, dass Nutzerfeedback oft grundlegende Kontextinformationen, wie z.B. die betroffene Plattform, nicht enthält und daher wahrscheinlich für Entwickler nicht nachvollziehbar ist.

Diese Dissertation enthält zwei Hauptbeiträge. Zum einen entwickeln wir automatisierte Ansätze, um die Qualität, d.h. die Authentizität und Verständlichkeit von Nutzerfeedback zu überprüfen und zu erhöhen. Um die Entwickler dabei zu unterstützen, die Bedürfnisse realer Nutzer zu verstehen, vergleichen wir gefälschte mit echten App-Reviews. Basierend auf den identifizierten quantitativen Unterschieden entwickeln, optimieren und evaluieren wir einen maschinell lernenden Klassifikator, der gefälschte Reviews erkennt. Um Entwickler dabei zu unterstützen, das berichtete Nutzerfeedback zu verstehen und zu reproduzieren, schlagen wir zwei sich ergänzende Lösungen vor, um das Feedback automatisch mit Kontextinformationen anzureichern. Der erste Ansatz versieht neu erstelltes Nutzerfeedback mit Kontextinformationen, die implizit während der Anwendungsausführung erfasst werden. Der zweite Ansatz basiert auf einem Chatbot, der Benutzer-Entwickler Konversationen analysiert, um fehlende Kontextinformationen zu identifizieren und explizit anzufordern. Wir beschreiben die Implementierung des Ansatzes zur Extraktion von Kontextinformationen und evaluieren diesen auf einem manuell beschrifteten Datensatz.

Als zweiten Hauptbeitrag integrieren wir das in der Qualität verbesserte Nutzerfeedback in kontinuierliche Software-Evolutionsprozesse. Um Entwickler dabei zu unterstützen, die bereitgestellten Kontextinformationen zu verstehen, führen wir einen Crowdsourcing-Ansatz ein. Wenn eine Anomalie nicht sofort sichtbar ist, wie z.B. bestimmte Schritte innerhalb langer Interaktionsspuren, isoliert unser Ansatz die gesammelten Kontextinformationen, d.h. er hebt relevante Informationen hervor und blendet irrelevante aus. Um Entwickler bei der Erfassung der Zufriedenheit ihrer Nutzer mit evolutionären App-Änderungen zu unterstützen, diskutieren wir den Einsatz von Sentimentanalyse-Tools. Wir identifizieren wiederkehrende emotionale Muster durch die Anwendung entsprechender Tools auf Nutzerfeedback. Durch den Vergleich mit zugehörigen Updates leiten wir geeignete App-Releasestrategien ab.

Wir evaluieren die Identifikation von gefälschten Nutzerrezensionen in einem Experiment. Bei einer proportionalen Verteilung von gefälschten und echten Reviews, wie sie in anderen Domänen bekannt sind, erreicht unser Klassifikator zur Erkennung von gefälschten App-Reviews einen Recall von 91% und einen AUC/ROC-Wert von 98%. Außerdem bestimmen wir die Nützlichkeit von Kontextinformationen in echtem Nutzerfeedback mit 16 erfahrenen iOS-Entwicklern. In Experimenten haben die Entwickler vier echte Fehler aus Open-Source-Anwendungen reproduziert, wie diese in App-Reviews beschrieben wurden. Wir haben festgestellt, dass die Entwickler unter Zuhilfenahme von Kontextinformationen Fehler besser verstehen und reproduzieren können. Entwickler benötigen durchschnittlich 46% weniger Zeit und 78% weniger Interaktionen um Fehler nachzustellen. Simulationen bestätigten, dass unser Ansatz zur automatischen Erfassung von Kontextinformationen keine beobachtbare Auswirkung auf die Laufzeit mit sich bringt. Zuletzt haben wir in Interviews die Bedenken der Entwickler und mögliche Verbesserungen gesammelt.
URL: https://ediss.sub.uni-hamburg.de/handle/ediss/8398
URN: urn:nbn:de:gbv:18-104705
Dokumenttyp: Dissertation
Betreuer*in: Maalej, Walid (Prof. Dr.)
Enthalten in den Sammlungen:Elektronische Dissertationen und Habilitationen

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat  
Dissertation.pdf15.77 MBAdobe PDFÖffnen/Anzeigen
Zur Langanzeige

Diese Publikation steht in elektronischer Form im Internet bereit und kann gelesen werden. Über den freien Zugang hinaus wurden durch die Urheberin / den Urheber keine weiteren Rechte eingeräumt. Nutzungshandlungen (wie zum Beispiel der Download, das Bearbeiten, das Weiterverbreiten) sind daher nur im Rahmen der gesetzlichen Erlaubnisse des Urheberrechtsgesetzes (UrhG) erlaubt. Dies gilt für die Publikation sowie für ihre einzelnen Bestandteile, soweit nichts Anderes ausgewiesen ist.

Info

Seitenansichten

99
Letzte Woche
Letzten Monat
geprüft am 17.04.2021

Download(s)

86
Letzte Woche
Letzten Monat
geprüft am 17.04.2021
Werkzeuge

Google ScholarTM

Prüfe