Date of Award

Summer 8-2025

Author's School

McKelvey School of Engineering

Author's Department

Computer Science & Engineering

Degree Name

Master of Science (MS)

Degree Type

Thesis

Abstract

Programmers often face hard-to-answer questions when working on large-scale projects. Not only during team collaborations, but also during interruptions such as meetings, having to suddenly work on another project, or even just taking a break are major reasons these questions arise, as programmers have to regain the context, knowledge, and mental state to resume the work. Traditional text editors such as GitHub do provide a built-in history system, but they lack historical context behind the editing to answer such questions.

To address this issue, we developed an experimental extension, Code History, on Visual Studio Code (VS Code) in the hope of finding a way that enables programmers to make effective use of these subgoal-based histories to answer hard-to-answer questions. We have created this extension through a step-by-step process where one feature is built on top of another. We began with the interface design, where we created an interface that is intuitive for users. That created a solid foundation for the next mechanism of the extension in which the extension can generate subgoal summaries based on editing histories. In addition to displaying summarized user intentions, Code Histories also displays any web searches and links accessed by the programmers during the time when they were working on the subgoal. Lastly, we have integrated large language models (LLMs) such as ChatGPT and Gemini to improve the user’s experience by letting the programmer search for a specific piece of history. Rather than being conversational, the LLMs are used to retrieve and filter relevant subgoal histories in response to the users’ questions/commands. With the help of Code History, programmers can now access contextualized histories and answer questions about the code that would otherwise be difficult to answer through a list of history alone.

The goal of this thesis is to enable us to test the hypothesis that question-based interfaces for sub-goal histories will better support programmers in answering hard-to-answer questions than the commonly available supports today. Pilot studies have suggested that, with some minimal alteration to the test format and interface design, we will be able to move on to the user testing phase.

Language

English (en)

Chair

Caitlin Kelleher

Committee Members

Chien-Ju Ho Alvitta Ottley Sam Tihen

Included in

Engineering Commons

Share

COinS