Skip to main navigation Skip to search Skip to main content

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

  • Mahidol University
  • Nara Institute of Science and Technology

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

20 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationProceedings - 2020 IEEE International Conference on Software Maintenance and Evolution, ICSME 2020
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages806-809
Number of pages4
ISBN (Electronic)9781728156194
DOIs
Publication statusPublished - Sept 2020
Event36th IEEE International Conference on Software Maintenance and Evolution, ICSME 2020 - Virtual, Adelaide, Australia
Duration: 27 Sept 20203 Oct 2020

Publication series

NameProceedings - 2020 IEEE International Conference on Software Maintenance and Evolution, ICSME 2020

Conference

Conference36th IEEE International Conference on Software Maintenance and Evolution, ICSME 2020
Country/TerritoryAustralia
CityVirtual, Adelaide
Period27/09/203/10/20

Keywords

  • Code Review
  • Program Analysis
  • Pythonic Idioms

Fingerprint

Dive into the research topics of 'Teddy: Automatic Recommendation of Pythonic Idiom Usage for Pull-Based Software Projects'. Together they form a unique fingerprint.

Cite this