pycefr: Python Competency Level through Code Analysis

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 differe...

Full description

Saved in:
Bibliographic Details
Main Authors: Gregorio Robles, Raula Gaikovina Kula, Chaiyong Ragkhitwetsagul, Tattiya Sakulniwat, Kenichi Matsumoto, Jesus M. Gonzalez-Barahona
Other Authors: Nara Institute of Science and Technology
Format: Conference or Workshop Item
Published: 2022
Subjects:
Online Access:https://repository.li.mahidol.ac.th/handle/123456789/73757
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Mahidol University
id th-mahidol.73757
record_format dspace
spelling th-mahidol.737572022-08-04T10:54:02Z pycefr: Python Competency Level through Code Analysis Gregorio Robles Raula Gaikovina Kula Chaiyong Ragkhitwetsagul Tattiya Sakulniwat Kenichi Matsumoto Jesus M. Gonzalez-Barahona Nara Institute of Science and Technology Universidad Rey Juan Carlos Mahidol University Computer Science 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, pycefr categorizes Python code in six levels, depending on the proficiency required to create and understand it. We also discuss different use cases for pycefr: iden-tifying 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. 2022-08-04T03:54:02Z 2022-08-04T03:54:02Z 2022-01-01 Conference Paper IEEE International Conference on Program Comprehension. Vol.2022-March, (2022), 173-177 10.1145/3524610.3527878 2-s2.0-85133187981 https://repository.li.mahidol.ac.th/handle/123456789/73757 Mahidol University SCOPUS https://www.scopus.com/inward/record.uri?partnerID=HzOxMe3b&scp=85133187981&origin=inward
institution Mahidol University
building Mahidol University Library
continent Asia
country Thailand
Thailand
content_provider Mahidol University Library
collection Mahidol University Institutional Repository
topic Computer Science
spellingShingle Computer Science
Gregorio Robles
Raula Gaikovina Kula
Chaiyong Ragkhitwetsagul
Tattiya Sakulniwat
Kenichi Matsumoto
Jesus M. Gonzalez-Barahona
pycefr: Python Competency Level through Code Analysis
description 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, pycefr categorizes Python code in six levels, depending on the proficiency required to create and understand it. We also discuss different use cases for pycefr: iden-tifying 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.
author2 Nara Institute of Science and Technology
author_facet Nara Institute of Science and Technology
Gregorio Robles
Raula Gaikovina Kula
Chaiyong Ragkhitwetsagul
Tattiya Sakulniwat
Kenichi Matsumoto
Jesus M. Gonzalez-Barahona
format Conference or Workshop Item
author Gregorio Robles
Raula Gaikovina Kula
Chaiyong Ragkhitwetsagul
Tattiya Sakulniwat
Kenichi Matsumoto
Jesus M. Gonzalez-Barahona
author_sort Gregorio Robles
title pycefr: Python Competency Level through Code Analysis
title_short pycefr: Python Competency Level through Code Analysis
title_full pycefr: Python Competency Level through Code Analysis
title_fullStr pycefr: Python Competency Level through Code Analysis
title_full_unstemmed pycefr: Python Competency Level through Code Analysis
title_sort pycefr: python competency level through code analysis
publishDate 2022
url https://repository.li.mahidol.ac.th/handle/123456789/73757
_version_ 1763497349029560320