Hints Help Finding and Fixing Bugs Differently in Python and Text-Based Program Representations
Ruchit Rawal, Victor-Alexandru Padurean, Sven Apel, Adish Singla, Mariya Toneva
Abstract
With the recent advances in AI programming assistants such as GitHub Copilot, programming is not limited to classical programming languages anymore-programming tasks can also be expressed and solved by end-users in natural text. Despite the availability of this new programming modality, users still face difficulties with algorithmic understanding and program debugging. One promising approach to support end-users is to provide hints to help them find and fix bugs while forming and improving their programming capabilities. While it is plausible that hints can help, it is unclear which type of hint is helpful and how this depends on program representations (classic source code or a textual representation) and the user's capability of understanding the algorithmic task. To understand the role of hints in this space, we conduct a large-scale crowd-sourced study involving 753 participants investigating the effect of three types of hints (test cases, conceptual, and detailed), across two program representations (Python and text-based), and two groups of users (with clear understanding or confusion about the algorithmic task). We find that the program representation (Python vs. text) has a significant influence on the users' accuracy at finding and fixing bugs. Surprisingly, users are more accurate at finding and fixing bugs when they see the program in natural text. Hints are generally helpful in improving accuracy, but different hints help differently depending on the program representation and the user's understanding of the algorithmic task. These findings have implications for designing next-generation programming tools that provide personalized support to users, for example, by adapting the programming modality and providing hints with respect to the user's skill level and understanding.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 04260f5d-0838-4439-a2f2-ac0a8d652a17Builds on3
- Correlates of programmer efficacy and their link to experience: a combined EEG and eye-tracking studyNorman Peitek, Annabelle Bergum, Maurice Rekrut, Jonas Mucke et al.FSE 2022 · 28 citations
- Connecting the dots: rethinking the relationship between code and prose writing with functional connectivityZachary Karas, Andrew Jahn, Westley Weimer, Yu HuangFSE 2021 · 10 citations
- Barriers for Students During Code Change ComprehensionJustin Middleton, John-Paul Ore, Kathryn T. StoleeICSE 2024 · 7 citations
Related papers
- Validating AI-Generated Code with Live ProgrammingKasra Ferdowsi, Ruanqianqian (Lisa) Huang, Michael B. James, Nadia Polikarpova et al.CHI 2024 · 27 citations
- Grounded Copilot: How Programmers Interact with Code-Generating ModelsShraddha Barke, Michael B. James, Nadia PolikarpovaOOPSLA 2023 · 408 citations
- Measuring the Runtime Performance of C++ Code Written by Humans Using Github CopilotDaniel Erhabor, Sreeharsha Udayashankar, Meiyappan Nagappan, Samer Al-KiswanyICSE 2025 · 1 citation
- An Empirical Study of Knowledge Transfer in AI Pair ProgrammingAlisa Welter, Niklas Schneider, Tobias Dick, Kallistos Weis et al.ASE 2025
- A Large-Scale Survey on the Usability of AI Programming Assistants: Successes and ChallengesJenny T. Liang, Chenyang Yang, Brad A. MyersICSE 2024 · 126 citations
