PPIG 2023 - 34th Annual Workshop
User-Centric Study and Enhancement of Python Static Code Analysers
Steven Chen, Emma Söderberg, Alan McCabe
Abstract: Despite the growing integration of code analysis tools into developer workflows, usability challenges persist in many aspects. Previous research, primarily focused on static languages and professional developers, has largely overlooked the needs of novice developers and non-static languages like Python. In this paper, we investigate the experiences of novice Python programmers with static code analysis tools. We aim to understand how these novices interact with and perceive these tools, with a focus on identifying usability pain points. To this end, we conducted initial user research with a survey followed by interviews. The insights derived from these studies were used to develop an enhanced version of the Pylint extension to Visual Studio Code, incorporating additional quick-fixes to improve the user experience connected to configuration of static analysis tools. The developed prototype extension was finally evaluated in a user study. The results from the interviews and surveys suggest that false positives, otherwise reported as a dominant cause of usability issues with code analysis, may not be as dominant for novice users who may focus on other aspects and not challenge the code analysis results. In addition, the results from the evaluation give early input on one possible direction for an enhanced Python code analyser interaction focused on novices.