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...
Saved in:
Main Authors: | , , , , , |
---|---|
Other Authors: | |
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 |