UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

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

Phan-Udom, P; Wattanakul, N; Sakulniwat, T; Ragkhitwetsagul, C; Sunetnanta, T; Choetkiertikul, M; Kula, RG; (2020) Teddy: Automatic Recommendation of Pythonic Idiom Usage for Pull-Based Software Projects. In: Proceedings - 2020 IEEE International Conference on Software Maintenance and Evolution, ICSME 2020. (pp. pp. 806-809). IEEE: Adelaide, SA, Australia. Green open access

[thumbnail of 2009.03302v1.pdf]
Preview
Text
2009.03302v1.pdf - Accepted Version

Download (1MB) | Preview

Abstract

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.

Type: Proceedings paper
Title: Teddy: Automatic Recommendation of Pythonic Idiom Usage for Pull-Based Software Projects
Event: 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME)
Dates: 28 Sep 2020 - 2 Oct 2020
ISBN-13: 9781728156194
Open access status: An open access version is available from UCL Discovery
DOI: 10.1109/ICSME46990.2020.00098
Publisher version: http://dx.doi.org/10.1109/icsme46990.2020.00098
Language: English
Additional information: © 2020 IEEE. This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: Visualization, Software maintenance, Navigation, Conferences, Tools, Python, Software development management
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10192705
Downloads since deposit
Loading...
11Downloads
Download activity - last month
Loading...
Download activity - last 12 months
Loading...
Downloads by country - last 12 months
Loading...

Archive Staff Only

View Item View Item