Jacob Yim

EECS Department, University of California, Berkeley

Technical Report No. UCB/EECS-2024-224

December 19, 2024

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-224.pdf

When programmers edit other programmers’ code or computer-generated code, they often need to work with unfamiliar abstractions—e.g., when adopting a new library or language, or entering a preexisting codebase. Prior work has hypothesized that showing a translation from unfamiliar abstractions into familiar abstractions will help. We explored this question in a 98-participant user study. We asked participants to edit Python programs that used an unfamiliar library, with or without access to a translation into vanilla Python. Participants with access to the translation were neither faster nor less error-prone. We used a set of interfaces that augment translations in a range of ways to further explore the question of whether translations can help programmers work with unfamiliar abstractions. Our results suggest design opportunities for the problem of supporting programmers in working with new libraries and languages.

Advisors: Sarah Chasins


BibTeX citation:

@mastersthesis{Yim:EECS-2024-224,
    Author= {Yim, Jacob},
    Title= {Translations Alone Do Not Help Programmers Work With Unfamiliar Abstractions},
    School= {EECS Department, University of California, Berkeley},
    Year= {2024},
    Month= {Dec},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-224.html},
    Number= {UCB/EECS-2024-224},
    Abstract= {When programmers edit other programmers’ code or computer-generated code, they often need to work with unfamiliar abstractions—e.g., when adopting a new library or language, or entering a preexisting codebase. Prior work has hypothesized that showing a translation from unfamiliar abstractions into familiar abstractions will help. We explored this question in a 98-participant user study. We asked participants to edit Python programs that used an unfamiliar library, with or without access to a translation into vanilla Python. Participants with access to the translation were neither faster nor less error-prone. We used a set of interfaces that augment translations in a range of ways to further explore the question of whether translations can help programmers work with unfamiliar abstractions. Our results suggest design opportunities for the problem of supporting programmers in working with new libraries and languages.},
}

EndNote citation:

%0 Thesis
%A Yim, Jacob 
%T Translations Alone Do Not Help Programmers Work With Unfamiliar Abstractions
%I EECS Department, University of California, Berkeley
%D 2024
%8 December 19
%@ UCB/EECS-2024-224
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2024/EECS-2024-224.html
%F Yim:EECS-2024-224