pycefr: Python Competency Level through Code Analysis

dc.contributor.authorRobles G.
dc.contributor.authorKula R.G.
dc.contributor.authorRagkhitwetsagul C.
dc.contributor.authorSakulniwat T.
dc.contributor.authorMatsumoto K.
dc.contributor.authorGonzalez-Barahona J.M.
dc.contributor.otherMahidol University
dc.date.accessioned2023-06-18T17:03:56Z
dc.date.available2023-06-18T17:03:56Z
dc.date.issued2022-01-01
dc.description.abstractPython 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.
dc.identifier.citationIEEE International Conference on Program Comprehension Vol.2022-March (2022) , 173-177
dc.identifier.doi10.1145/3524610.3527878
dc.identifier.scopus2-s2.0-85133187981
dc.identifier.urihttps://repository.li.mahidol.ac.th/handle/20.500.14594/84390
dc.rights.holderSCOPUS
dc.subjectComputer Science
dc.titlepycefr: Python Competency Level through Code Analysis
dc.typeConference Paper
mu.datasource.scopushttps://www.scopus.com/inward/record.uri?partnerID=HzOxMe3b&scp=85133187981&origin=inward
oaire.citation.endPage177
oaire.citation.startPage173
oaire.citation.titleIEEE International Conference on Program Comprehension
oaire.citation.volume2022-March
oairecerif.author.affiliationNara Institute of Science and Technology
oairecerif.author.affiliationUniversidad Rey Juan Carlos
oairecerif.author.affiliationMahidol University

Files

Collections