- A preview of this full-text is provided by Springer Nature.
- Learn more
Preview content only
Content available from Requirements Engineering
This content is subject to copyright. Terms and conditions apply.
Vol.:(0123456789)
1 3
Requirements Engineering (2018) 23:357–379
https://doi.org/10.1007/s00766-018-0293-2
RE 2017
On user rationale insoftware engineering
ZijadKurtanović1 · WalidMaalej1
Received: 21 October 2017 / Accepted: 23 March 2018 / Published online: 6 April 2018
© Springer-Verlag London Ltd., part of Springer Nature 2018
Abstract
Rationale refers to the reasoning and justification behind human decisions, opinions, and beliefs. In software engineering,
rationale management focuses on capturing design and requirements decisions and on organizing and reusing project knowl-
edge. This paper takes a different view on rationale written by users in online reviews. We studied 32,414 reviews for 52
software applications in the Amazon Store. Through a grounded theory approach and peer content analysis, we investigated
how users argue and justify their decisions, e.g., about upgrading, installing, or switching software applications. We also
studied the occurrence frequency of rationale concepts such as issues encountered or alternatives considered in the reviews
and found that assessment criteria like performance, compatibility, and usability represent the most pervasive concept. We
identified a moderate positive correlation between issues and criteria and furthermore assessed the distribution of rationale
concepts with respect to rating and verbosity. We found that issues tend to appear more in lower star rated reviews, while
criteria, alternatives, and justifications seem to appear more in three star rated reviews. Also, reviews reporting alternatives
seem to be more verbose than reviews reporting criteria. A follow-up qualitative study of sub-concepts revealed, that users
also report other alternatives (e.g., alternative software provider), criteria (e.g., cost), and decisions (e.g., on rating software).
We then used the truth set of manually labeled review sentences to explore how accurately we can mine rationale concepts
from the reviews. We evaluated the classification algorithms Naive Bayes, Support Vector Machine, Logistic Regression,
Decision Tree, Gaussian Process, Random Forest, and Multilayer Perceptron Classifier using a baseline and random con-
figuration. Support Vector Classifier, Naive Bayes, and Logistic Regression, trained on the review metadata, syntax tree of
the review text, and influential terms, achieved a precision around 80% for predicting sentences with alternatives and deci-
sions, with top recall values of 98%. On the review level, precision was up to 13% higher with recall values reaching 99%.
Using only word features, we achieved in most cases the highest precision and highest recall respectively using the Random
Forest and Naive Bayes algorithm. We discuss the findings and the rationale importance for supporting deliberation in user
communities and synthesizing the reviews for developers.
Keywords App analytics· Rationale· Review mining
1 Introduction
According to Merriam-Webster [40], rationale is “the expla-
nation of controlling principles of opinion, belief, practice,
or phenomena, or an underlying reason.” Rationale man-
agement focuses on capturing and sharing the reasons and
justifications behind decisions. The design rationale soft-
ware design paradigm aims at capturing design decisions
and their justifications [4]. Over the last decades, managing
requirements and design rationale has been a major concern
in software engineering [5, 12, 23]. Ideally, rationale should
be captured in requirements and design artifacts to docu-
ment why certain project decisions were taken [13]. This
includes the questions or issues encountered by designers
and analysts, the alternatives explored to solve the issues,
and the criteria to evaluate the alternatives [4]. Rationale is
also often found in informal artifacts such as team conversa-
tions or sketches [28].
With the increasing popularity of social media, user
forums, and app stores, software vendors started giving
more attention to the input of users when making deci-
sions about software design, development, and evolution
* Zijad Kurtanović
kurtanovic@informatik.uni-hamburg.de
Walid Maalej
maalej@informatik.uni-hamburg.de
1 University ofHamburg, Hamburg, Germany
Content courtesy of Springer Nature, terms of use apply. Rights reserved.