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...
Distributed version control allows developers to manage software evolution among distributed development teams. But it does not eliminate all consistency and concurrency issues, and instead introduces additional complexity when merging code. And resolving merge conflicts is nontrivial when automated merging fails. In such cases, developers are forced to inspect the...