Translations Alone Do Not Help Programmers Work With Unfamiliar Abstractions
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