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

dc.contributor.authorPurit Phan-Udomen_US
dc.contributor.authorNaruedon Wattanakulen_US
dc.contributor.authorTattiya Sakulniwaten_US
dc.contributor.authorChaiyong Ragkhitwetsagulen_US
dc.contributor.authorThanwadee Sunetnantaen_US
dc.contributor.authorMorakot Choetkiertikulen_US
dc.contributor.authorRaula Gaikovina Kulaen_US
dc.contributor.otherNara Institute of Science and Technologyen_US
dc.contributor.otherMahidol Universityen_US
dc.date.accessioned2020-12-28T04:53:12Z
dc.date.available2020-12-28T04:53:12Z
dc.date.issued2020-09-01en_US
dc.description.abstract© 2020 IEEE. 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.en_US
dc.identifier.citationProceedings - 2020 IEEE International Conference on Software Maintenance and Evolution, ICSME 2020. (2020), 806-809en_US
dc.identifier.doi10.1109/ICSME46990.2020.00098en_US
dc.identifier.other2-s2.0-85096681651en_US
dc.identifier.urihttps://repository.li.mahidol.ac.th/handle/20.500.14594/60443
dc.rightsMahidol Universityen_US
dc.rights.holderSCOPUSen_US
dc.source.urihttps://www.scopus.com/inward/record.uri?partnerID=HzOxMe3b&scp=85096681651&origin=inwarden_US
dc.subjectComputer Scienceen_US
dc.subjectEngineeringen_US
dc.subjectMathematicsen_US
dc.titleTeddy: Automatic Recommendation of Pythonic Idiom Usage for Pull-Based Software Projectsen_US
dc.typeConference Paperen_US
dspace.entity.typePublication
mu.datasource.scopushttps://www.scopus.com/inward/record.uri?partnerID=HzOxMe3b&scp=85096681651&origin=inwarden_US

Files

Collections