Many real-world security vulnerabilities in software relate to a few known classes of attack such as code injection. Secure coding practices and technologies for detecting and preventing vulnerabilities in software are likewise established, such as input sanitisation and non-escaping strings. However, it is not clear why many professional software developers do not adopt these practices and technologies as a matter of course. This project examines the role developer motivation plays in the production of secure code.
Motivation significantly influences productivity and code quality in software development projects. Successful developers are motivated to learn new technologies, but are rarely motivated by reading documentation or studying manuals. They engage in peer-to-peer interactions and assessments, two forms of interaction that have been found to bring about lasting cultural change within the wider software developer community. This is evident, for example, in the widespread adoption of object-oriented technologies and agile development practices.
Motivating Jenny will investigate how to initiate and sustain secure software culture, building upon frameworks of personal motivation and team culture (see Figure 1). Two specific aims are to:
To address these research aims, we will conduct ethnographic and constrained task studies and draw upon classic models of motivation, organisational theory, and social and cultural pyschology. Our engagement with the developer community will consider online and professional settings, in communities such as those found in StackExchange and through collaboration with a range of companies including members of Agile Business Consortium (ABC) Ltd and international partners in Ireland, Brazil and Japan.
This is a joint project between The Open University and Exeter University, and is a sister project of the EPSRC-funded Why Johnny doesn’t write secure software? Secure Software Development by the masses.