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 started investigating how developers use VCS.
In this thesis, we take a theory-based approach to understanding developers’ information seeking in VCS. Using the foundations of Information Foraging Theory (IFT), we re-interpret the data from a prior empirical study, to gain newer perspectives into developers’ information seeking in VCS. Our results reveal that, while foraging for specific information, participants engaged in traditional foraging behavior and therefore tools can leverage IFT’s design insights and patterns to support such foraging activities.
However, traditional IFT does not completely explain participants’ change-awareness foraging that subtly deviates from traditional notions of foraging. It also falls short of explaining the tension between different foraging needs for different foraging situations (e.g., smaller commits for easy debugging vs. larger commits for easy code reviews) that participants considered while creating commits and commit messages. By uncovering these gaps, this thesis opens up newer research avenues at the intersection of IFT and SE.