Software history and version control systems (VCS) are an important source of information for developers. This entails the need for a principled understanding of developers’ information seeking in VCS, both for improving existing tools as well as understanding requirements for new tools. However, it is only recently that researchers have...
Complex information environments are often organized as hierarchies. However, computational models of Information Foraging Theory (IFT) have almost entirely ignored this fact. Models and tools for predicting programmer navigations have ignored people’s foraging behavior across hierarchies —called hierarchical foraging. Without modeling hierarchical foraging, our ability to build tools to support...
While digital inclusivity researchers and software practitioners have been trying to address exclusion biases in Windows, Icons, Menus, and Pointers (WIMP) user interfaces (UIs) for a long time, little has been done to investigate if and how inclusive software design and its methods that have been devised for WIMP UIs...
Software developers frequently need to perform code maintenance tasks, but doing so requires time-consuming navigation through code. A variety of tools are aimed at easing this navigation by using models to predict places in the code that a developer might want to visit, and then providing shortcuts so that the...
How can software practitioners assess whether their software supports diverse users? Although there are empirical processes that can be used to find “inclusivity bugs” piecemeal, what is often needed is a systematic inspection method to assess software’s support for diverse populations. To help fill this gap, this thesis introduces InclusiveMag,...
Empirical studies have shown that programmers spend up to one-third of their time navigating through code during debugging. Although researchers have conducted empirical studies to understand programmers’ navigation difficulties and developed tools to address those difficulties, the resulting findings tend to be loosely connected to each other. To address this...
Emerging research shows that individual differences in how people use technology sometimes cluster by socioeconomic status (SES) and that when technology is not socioeconomically inclusive, low-SES individuals may abandon it. To understand how to improve technology’s SES-inclusivity, we present a multi-phase case study on SocioEconomicMag (SESMag), an emerging inspection method...
Assessing AI systems is difficult. Humans rely on AI systems in increasing ways, both visible and invisible, meaning a variety of stakeholders need a variety of assessment tools (e.g., a professional auditor, a developer, and an end user all have different needs). We posit that it is possible to provide...
We do not know how to align a very intelligent AI agent's behavior with human interests. I investigate whether—absent a full solution to this AI alignment problem—we can build smart {\ai} agents which have limited impact on the world, and which do not autonomously seek power. In this thesis, I...
Hand detection is a fundamental step for many hand-related computer vision tasks, such as gesture recognition, hand pose estimation, hand sign language translation, and so on. However, robustly detecting hands is a challenging task because of drastic changes in appearance based on finger articulation and changes in lighting conditions, camera...