Write a Blog >>
ICPC 2022
Mon 16 - Tue 17 May 2022
co-located with ICSE 2022

Python is known to be a versatile language, well suited both for beginners and advanced users. Some elements of the language are easier to understand than others: some are found in any kind of code, while some others are used only by experienced programmers. The use of these elements lead to different ways to code, depending on the experience with the language and the knowledge of its elements, the general programming competence, and programming skills, etc. In this paper, we present pycefr, a tool that detects the use of the different elements of the Python language, effectively measuring the level of Python proficiency required to comprehend and deal with a fragment of Python code. Following the well-known Common European Framework of Reference for Languages (CEFR), widely used for natural languages, \texttt{pycefr} categorizes Python code in six levels, depending on the proficiency required to create and understand it. We also discuss different use cases for \texttt{pycefr}: identifying code snippets that can be understood by developers with a certain proficiency, labeling code examples in online resources such as Stackoverflow and GitHub to suit them to a certain level of competency, helping in the onboarding process of new developers in Open Source Software projects, etc. A video shows availability and usage of the tool: https://tinyurl.com/ypdt3fwe.

Mon 16 May

Displayed time zone: Eastern Time (US & Canada) change

02:50 - 03:20
Session 4: Understanding Development Practices and Challenges 1Early Research Achievements (ERA) / Tool Demonstration / Research / Replications and Negative Results (RENE) at ICPC room
Chair(s): Bin Lin Universitร  della Svizzera italiana (USI)
02:50
4m
Talk
Understanding Code Snippets in Code Reviews: A Preliminary Study of the OpenStack Community
Early Research Achievements (ERA)
Liming Fu Wuhan University, Peng Liang Wuhan University, China, Beiqi Zhang Wuhan University
Pre-print Media Attached
02:54
4m
Talk
GitQ- Towards Using Badges as Visual Cues for GitHub Projects
Tool Demonstration
Akhila Sri Manasa Venigalla IIT Tirupati, Kowndinya Boyalakuntla , Sridhar Chimalakonda Indian Institute of Technology Tirupati
Media Attached
02:58
7m
Talk
Revisiting the Effect of Branch Handling Strategies on Change Recommendation
Replications and Negative Results (RENE)
Keisuke Isemoto Tokyo Institute of Technology, Takashi Kobayashi Tokyo Institute of Technology, Shinpei Hayashi Tokyo Institute of Technology
DOI Pre-print Media Attached
03:05
4m
Talk
pycefr: Python Competency Level through Code Analysis
Tool Demonstration
Gregorio Robles Universidad Rey Juan Carlos, Raula Gaikovina Kula Nara Institute of Science and Technology, Chaiyong Ragkhitwetsagul Mahidol University, Thailand, Tattiya Sakulniwat Nara Institute of Science and Technology, Kenichi Matsumoto Nara Institute of Science and Technology, Jesus M. Gonzalez-Barahona Universidad Rey Juan Carlos
Pre-print Media Attached
03:09
11m
Live Q&A
Q&A-Paper Session 4
Research


Information for Participants