FAQ
© 2018 Staats- und Universitätsbibliothek
Hamburg, Carl von Ossietzky

Öffnungszeiten heute09.00 bis 24.00 Uhr alle Öffnungszeiten

Eingang zum Volltext in OPUS

Hinweis zum Urheberrecht

Dissertation zugänglich unter
URN: urn:nbn:de:gbv:18-91774
URL: http://ediss.sub.uni-hamburg.de/volltexte/2018/9177/


Mining and Analyzing User Rationale in Software Engineering

Gewinnung und Analyse von Nutzerbegründungen in der Softwaretechnik

Kurtanović, Zijad

pdf-Format:
 Dokument 1.pdf (11.024 KB) 


Basisklassifikation: 54.52 , 54.82 , 54.80 , 54.72
Institut: Informatik
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Maalej, Walid (Prof. Dr.)
Sprache: Englisch
Tag der mündlichen Prüfung: 19.04.2018
Erstellungsjahr: 2018
Publikationsdatum: 22.06.2018
Kurzfassung auf Englisch: Rationale refers to the reasoning and justification behind human decisions, opinions, and beliefs. In software engineering, rationale is important for capturing
and documenting requirements and design decisions and consequently organizing and reusing knowledge in software organizations. While rationale knowledge typically originates from professional stakeholders involved in a software project (e.g., business analysts, developers, managers), nowadays there is a potential in augmenting this knowledge with the rationale of users, posted e.g., in app stores or social media. User feedback contains a significant amount of knowledge including rationale that we can mine and use for software engineering purposes.
Unfortunately, studying and mining rationale from user feedback for software
engineering has been so far deficiently researched.

This thesis empirically studies rationale written by end users in online reviews
using grounded theory approach and peer content analysis. We studied users
reasoning and justification, for example how users explain their decisions, e.g.
on upgrading, installing, or switching the application. We also studied the
characteristics and frequency distribution of the identified rationale concepts,
such as issues encountered, alternatives considered, or criteria for assessment.
We found that criteria such as performance, compatibility, and usability, which
play an important role during requirements analysis, system design, and project
management activities, represent the most frequent user rationale concept. We
also found that users express and justify their stances by criteria assessments.

Using a manually labeled dataset of software reviews we studied how accurately
we can automatically mine rationale concepts from reviews using supervised
machine learning and identified potentials and challenges. We also studied
whether we can augment an industrial criteria dataset with our user rationale
dataset to improve classification accuracy of non-functional requirements, by
handling class imbalances and by enlarging the industrial dataset. We also used
a dataset of pro and contra user comments on controversial issues to assess topic-independent lexical features and significance of comment’s parts (e.g., sentence position) for stance mining. We found classification and data insights for stance miners and discuss their potential for software engineering.

Inspired from our studies and empirical findings, we introduce and discuss
the Rationalytics framework and two prototypes as a proof of concept for
rationale and stance mining tools for software engineering projects.
Kurzfassung auf Deutsch: Begründungen werden dazu verwendet um menschliche Entscheidungen, Meinungen und Überzeugungen zu rechtfertigen. In der Softwareentwicklung sind
Begründungen wichtig, um Anforderungen und Designentscheidungen zu erfassen und zu dokumentieren, und das folglich entstandene Wissen in Softwareorganisationen zu organisieren und wiederzuverwenden. Während Begründungenswissen hauptsächlich von professionellen Stakeholdern stammen, die an einem Softwareprojekt beteiligt sind (z.B. Business-Analysten, Entwickler, Projektmanager), besteht heutzutage das Potenzial, dieses Wissen durch die Begründungen der Softwarenutzer zu erweitern, die z.B. in App-Stores oder sozialen Medien veröffentlicht werden. Nutzerfeedback enthält eine erhebliche Menge an nützlichem Wissen, einschließlich Begründungen, die wir für die Softwareentwicklung extrahieren und verwenden können. Das Studium und die Extraktion von Begründungen aus dem Nutzerfeedback für Softwareentwicklung-Zwecke wurde bisher jedoch unzureichend erforscht.

Diese Arbeit untersucht empirisch Begründungen von Nutzern in Online-
Bewertungen unter Anwendung des Grounded-Theory Ansatzes und der Peer-
Inhaltsanalsyse. Wir haben Argumentationen und Rechtfertigungen studiert,
beispielsweise wie Nutzer ihre Entscheidungen erklären, über die Aktualisierung, Installation oder den Wechsel der Anwendung. Außerdem untersuchten wir die Merkmale und Häufigkeitsverteilung der identifizierten Begründungskonzepte, z.B. aufgetretene Probleme, berücksichtigte Alternativen oder Bewertungskriterien.
Wir haben festgestellt, dass Kriterien wie Leistung, Kompatibilität
und Benutzerfreundlichkeit, die bei Anforderungsanalyse, Systemgestaltung und
Projektmanagement-Aktivitäten eine wichtige Rolle spielen, die häufigsten verwendeten Begründungskonzepte darstellen. Wir haben auch festgestellt, dass Nutzer ihre Positionen durch Kriterienbewertungen ausdrücken und rechtfertigen.

Anhand eines manuell beschrifteten Datensatzes von Software-Bewertungen
haben wir untersucht, wie genau wir Begründungskonzepte aus Nutzerbewertungen mit überwachtem maschinellem Lernen automatisch gewinnen können und Potenziale und Herausforderungen identifiziert. Wir haben auch untersucht, ob wir einen industriellen Kriteriendatensatz mit unserem Nutzerdatensatz ergänzen können, um durch Handhabung von Klassenungleichgewichten und Erweiterung des Datensatzes, die Klassifikationsgenauigkeit von nicht-funktionalen Anforderungen im Kriteriendatensatz zu verbessern. Wir verwendeten auch einen Datensatz von Pro-Contra Nutzerkommentaren zu kontroversen Themen, um themenunabhängige lexikalische Merkmale sowie die Signifikanz
von Kommentarteilen (z.B. Satzpositionen) für automatische Identifikation von
Nutzerpositionen zu evaluiren. Wir fassten unsere Klassifikations- und Dateneinblicke für die Erkennung von Nutzerpositionen zusammen und diskutieren ihr Potenzial für Softwareentwicklung.

Inspiriert von unseren Studien und empirischen Ergebnissen, stellen wir das
Rationalytics-Framework vor, sowie zwei Prototypen als Konzeptnachweis
für Werkzeuge zur Extraktion von Nutzerbegründungen und -haltungen für
Softwareentwicklungs-Projekte.

Zugriffsstatistik

keine Statistikdaten vorhanden
Legende