Using Annotations for Sensemaking About Code

要旨

Developers spend significant amounts of time finding, relating, navigating, and, more broadly, making sense of code. While sensemaking, developers must keep track of many pieces of information including the objectives of their task, the code locations of interest, their questions and hypotheses about the behavior of the code, and more. Despite this process being such an integral aspect of software development, there is little tooling support for externalizing and keeping track of developers' information, which led us to develop Catseye -- an annotation tool for lightweight notetaking about code. Catseye has advantages over traditional methods of externalizing code-related information, such as commenting, in that the annotations retain the original context of the code while not actually modifying the underlying source code, and can support richer interactions such as lightweight versioning, following-up on the annotation content, and can be used as navigational aids. In our investigation of developers' notetaking processes using Catseye, we found developers were able to successfully use annotations to support their code sensemaking when completing a debugging task, with participants in a small study who used Catseye fixing more bugs, on average, than the baseline.

著者
Amber Horvath
Carnegie Mellon University, Pittsburgh, Pennsylvania, United States
Brad A. Myers
Carnegie Mellon University, Pittsburgh, Pennsylvania, United States
Andrew Macvean
Google, Seattle, Washington, United States
Imtiaz Rahman
Hunter College, New York City, New York, United States
論文URL

https://doi.org/10.1145/3526113.3545667

会議: UIST 2022

The ACM Symposium on User Interface Software and Technology

セッション: Programming, Kits, and Libraries

6 件の発表
2022-11-01 23:30:00
2022-11-02 01:00:00