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...
Energy consumption has become a significant concern for cloud service providers due to financial as well as environmental factors. As a result, cloud service providers are seeking innovative ways that allow them to reduce the amount of energy that their data centers consume. They are calling for the development of...
Developers frequently change the type of a program element and update all its references for performance, security, concurrency, library migration, or better maintainability. Despite type changes being a common program transformation, it is the least automated and the least studied. Manually performing type changes is tedious since the programmers have...
Wave breaking in the surf zone is an important forcing
mechanism on the generation of nearshore currents and in the driving
of sediment transport. At the same time, wave breaking can have
significant spatial and temporal variability that needs to be
accounted for in the description of nearshore processes. Remote...
This paper discusses the merits of providing users variational views when editing variational code. I provide a plugin for the popular Atom Integrated Development Environment (IDE) which replaces #ifdef annotations commonly used by the C PreProcessor (CPP) with colored backgrounds, thus reducing code clutter and attempting to help programmers quickly...
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...
This thesis explores the differences in puppetted and teleoperation control of robotic hands, using the Asterisk test as a benchmark. Two hands were tested, including modified versions of the Model Q and Model Q developed by Yale's GRAB Lab. Small differences were observed between the puppetted and teleoperation control of...
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,...
This algorithm presents the first steps towards a solution for novice database administrators that helps them transform a non-normalized relational database into a database in the third normal form. The algorithm uses relational algebra operations that apply principles from the third normal form. This provides the database administrator with an...