van der Linden, Dirk and Anthonysamy, Pauline and Nuseibeh, Bashar and Tun, Thein T. and Petre, Marian and Levine, Mark and Towse, John and Rashid, Awais (2020) Schrödinger’s Security : Opening the Box on App Developers’ Security Rationale. In: ICSE '20 : Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering. Association for Computing Machinery (ACM), New York, pp. 149-160. ISBN 9781450371216
ICSE_20_Baseline.pdf - Accepted Version
Available under License Creative Commons Attribution-NonCommercial.
Download (937kB)
Abstract
Research has established the wide variety of security failures in mobile apps, their consequences, and how app developers introduce or exacerbate them. What is not well known is why developers do so—what is the rationale underpinning the decisions they make which eventually strengthen or weaken app security? This is all the more complicated in modern app development’s increasingly di- verse demographic: growing numbers of independent, solo, or small team developers who do not have the organizational structures and support that larger software development houses enjoy. Through two studies, we open the box on developer rationale, by performing a holistic analysis of the rationale underpinning various activities in which app developers engage when developing an app. The first study does so through a task-based study with app developers (N=44) incorporating six distinct tasks for which this developer demographic must take responsibility: setting up a devel- opment environment, reviewing code, seeking help, seeking testers, selecting an advertisement SDK, and software licensing. We found that, while on first glance in several activities participants seemed to prioritize security, only in the code task such prioritization was underpinned by a security rationale–indicating that development behavior perceived to be secure may only be an illusion until the box is opened on their rationale. The second study confirms these findings through a wider sur- vey of app developers (N=274) investigating to what extent they find the activities of the task-based study to affect their app’s se- curity. In line with the task-based study, we found that developers perceived actively writing code and actively using external SDKs as the only security-relevant, while similarly disregarding other activities having an impact on app security. Our results suggest the need for a stronger focus on the tasks and activities surrounding the coding task – all of which need to be underpinned by a security rationale. Without such a holistic focus, developers may write “secure code" but not produce “secure apps”.