Ryall, Jody2008-04-292008-04-2920082008-04-29http://hdl.handle.net/1828/920Software development requires understanding and navigating complex software spaces. Developers frequently utilize annotations in source code to help them externalize information they need to remember, such as tasks and implementation details. Although some tool support exists in modern integrated development environments for authoring and navigating these annotations, we have observed that they often fail to remind developers about tasks that need to be performed and are sometimes difficult to find. We present the results from four empirical studies designed to better understand how developers create and manage their information using annotations. We also explore the use of hierarchical tagging capabilities to enhance these annotations. Based on the findings from these studies, we provide suggestions on how annotation tools may be improved.enAvailable to the World Wide Webannotationssoftware engineeringtaggingtasksUVic Subject Index::Sciences and Engineering::Applied Sciences::Computer scienceReminding and refinding: examining how software developers use annotationsThesis