Programming tasks require inherent cognitive load, but the design of the tools and languages a programmer uses to complete their task can either increase mental burden, or optimize for it. To build software that better supports all those that interact with it, we must develop the necessary processes and frameworks to understand the impact that software has on its users and to account for it when designing the next generation of languages and tools. Understanding the complexities of comprehension processes when developing software requires diverse research strategies that bring together fundamentals of human cognition, from domains like Psychology and Cognitive Neuroscience, to empirical methods used in Software Engineering research.
In this dissertation we contribute novel methods and perspectives to the domain of program comprehension and software developer productivity including: 1) a novel perspective and tools for studying cognitive processes during computing activities, 2) a better understanding of how software quality factors impact mental effort and productivity during bug localization, and 3) opportunities to improve metrics that serve as proxies for user evaluation of models for code summarization, readability, and merge tasks. We discuss how user-centered development and evaluation processes can help to develop theories that better inform and align tools designed to improve developer productivity in practice.
Metrics
3 File views/ downloads
23 Record Views
Details
Title
Models, Metrics, and Minds
Creators
Sarah Fakhoury
Contributors
Venera Arnaoudova (Advisor)
Olusola Adesope (Committee Member)
Janardhan Doppa (Committee Member)
Awarding Institution
Washington State University
Academic Unit
Electrical Engineering and Computer Science, School of
Theses and Dissertations
Doctor of Philosophy (PhD), Washington State University