  Human values such as honesty, social responsibility, fairness, privacy, and
the like are things considered important by individuals and society. Software
systems, including mobile software applications (apps), may ignore or violate
such values, leading to negative effects in various ways for individuals and
society. While some works have investigated different aspects of human values
in software engineering, this mixed-methods study focuses on honesty as a
critical human value. In particular, we studied (i) how to detect honesty
violations in mobile apps, (ii) the types of honesty violations in mobile apps,
and (iii) the perspectives of app developers on these detected honesty
violations. We first develop and evaluate 7 machine learning (ML) models to
automatically detect violations of the value of honesty in app reviews from an
end user perspective. The most promising was a Deep Neural Network model with
F1 score of 0.921. We then conducted a manual analysis of 401 reviews
containing honesty violations and characterised honest violations in mobile
apps into 10 categories: unfair cancellation and refund policies; false
advertisements; delusive subscriptions; cheating systems; inaccurate
information; unfair fees; no service; deletion of reviews; impersonation; and
fraudulent looking apps. A developer survey and interview study with mobile
developers then identified 7 key causes behind honesty violations in mobile
apps and 8 strategies to avoid or fix such violations. The findings of our
developer study also articulate the negative consequences that honesty
violations might bring for businesses, developers, and users. Finally, the app
developers' feedback shows that our prototype ML-based models can have
promising benefits in practice.

Software Engineering