SESep 5, 2020

Teddy: Automatic Recommendation of Pythonic Idiom Usage For Pull-Based Software Projects

arXiv:2009.03302v11 citationsHas Code
Originality Incremental advance
AI Analysis

This tool addresses the learning curve for novice Python programmers in adopting idiomatic coding practices, but it is incremental as it automates existing manual or rule-based approaches.

The authors tackled the problem of helping novice Python programmers learn and adopt Pythonic idioms by creating an automated tool called Teddy, which offers prevention and detection modes for recommending and identifying Pythonic code usage, with evaluation showing high precision in detection.

Pythonic code is idiomatic code that follows guiding principles and practices within the Python community. Offering performance and readability benefits, Pythonic code is claimed to be widely adopted by experienced Python developers, but can be a learning curve to novice programmers. To aid with Pythonic learning, we create an automated tool, called Teddy, that can help checking the Pythonic idiom usage. The tool offers a prevention mode with Just-In-Time analysis to recommend the use of Pythonic idiom during code review and a detection mode with historical analysis to run a thorough scan of idiomatic and non-idiomatic code. In this paper, we first describe our tool and an evaluation of its performance. Furthermore, we present a case study that demonstrates how to use Teddy in a real-life scenario on an Open Source project. An evaluation shows that Teddy has high precision for detecting Pythonic idiom and non-Pythonic code. Using interactive visualizations, we demonstrate how novice programmers can navigate and identify Pythonic idiom and non-Pythonic code in their projects. Our video demo with the full interactive visualizations is available at https://youtu.be/vOCQReSvBxA.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes