AN INVESTIGATION OF WEB USE DURING PROGRAMMING.

  • Omar Alghamdi

Student thesis: Phd

Abstract

Websites are a key resource consulted by programmers during their coding tasks, providing essential information, including code snippets. However, the implications of website use are poorly understood with respect to both programmers cognition and their code outputs. Programmers' (human) memory has also been shown to be an important resource in coding tasks, and there is some evidence from psychology that website use may inhibit memory. Studies of online code repositories also suggest that problematic code propagates through the Web. To date there has been little research on programmers' memory implications from using the Web, nor on programmers' experiences of encountering problematic online code, and whether coding with the Web leads to the adoption of problematic online code in programmers' own code. This thesis sets out to contribute to understandings of the role of websites in programmers' coding activities, and the possible implications of their usage. Three studies provide qualitative and quantitative data describing participants' use of the Web when coding, including its role, follow-on activities and consequences (perceived and actual). The results confirm that the Web and human memory are essential resources used by programmers when coding, and that they make frequent use of search engines and online code when using the Web. Programmers perceived little impact of this web use on their memory, but recognised the prevalence of problematic online code. Through an observed coding task and analysis of resulting source code, we find evidence that encounters with problematic online code can have negative consequences for programmers code outputs. The results advance the current understanding of Web usage for coding and how it affects programmers' memory and code.
Date of Award1 Aug 2023
Original languageEnglish
Awarding Institution
  • The University of Manchester
SupervisorSarah Clinch (Supervisor) & Caroline Jay (Supervisor)

Keywords

  • Computer science education
  • Stack Overflow
  • Online code snippets
  • Problematic code
  • Human memory
  • Professional practice in software engineering
  • Program comprehension

Cite this

'