pycefr: Python']Python Competency Level through Code Analysis

被引:0
|
作者
Robles, Gregorio [1 ]
Kula, Raula Gaikovina [2 ]
Ragkhitwetsagul, Chaiyong [3 ]
Sakulniwat, Tattiya [2 ]
Matsumoto, Kenichi [2 ]
Gonzalez-Barahona, Jesus M. [1 ]
机构
[1] Univ Rey Juan Carlos, Madrid, Spain
[2] NAIST, Nara, Japan
[3] Mahidol Univ, Fac ICT, Nakhon Pathom, Thailand
关键词
CEFR;
D O I
10.1145/3524610.3527878
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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: 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.
引用
收藏
页码:173 / 177
页数:5
相关论文
共 50 条
  • [1] The Lompe code: A Python']Python toolbox for ionospheric data analysis
    Hovland, A. O.
    Laundal, K. M.
    Reistad, J. P.
    Hatch, S. M.
    Walker, S. J.
    Madelaire, M.
    Ohma, A.
    [J]. FRONTIERS IN ASTRONOMY AND SPACE SCIENCES, 2022, 9
  • [2] OpenMoist: A Python']Python code for transient moisture transfer analysis
    Melchor-Placencia, Carlos
    Malaga-Chuquitaype, Christian
    [J]. SOFTWAREX, 2021, 15
  • [3] Making Python']Python Code Idiomatic by Automatic Refactoring Non-idiomatic Python']Python Code with Python']Pythonic Idioms
    Zhang, Zejun
    Xing, Zhenchang
    Xia, Xin
    Xu, Xiwei
    Zhu, Liming
    [J]. PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 696 - 708
  • [4] Code Analysis with Static Application Security Testing for Python']Python Program
    Ma, Li
    Yang, Huihong
    Xu, Jianxiong
    Yang, Zexian
    Lao, Qidi
    Yuan, Dong
    [J]. JOURNAL OF SIGNAL PROCESSING SYSTEMS FOR SIGNAL IMAGE AND VIDEO TECHNOLOGY, 2022, 94 (11): : 1169 - 1182
  • [5] DefAP: A Python']Python code for the analysis of point defects in crystalline solids
    Neilson, William D.
    Murphy, Samuel T.
    [J]. COMPUTATIONAL MATERIALS SCIENCE, 2022, 210
  • [6] Python']Python Code Parallelization, Challenges and Alternatives
    Gonzalez, Justo
    Taylor, Julian
    Castro, Sandra
    Kern, Jeff
    Knudstrup, Jens
    Zampieri, Stefano
    Manning, Alisdair
    Bhatnagar, Sanjay
    Davis, Lindsey
    Golap, Kumar
    Jacobs, Jim
    Nakazato, Takeshi
    Petry, Dirk
    Pokorny, Martin
    Rao, Urvashi
    Robnett, James
    Schiebel, Darrell
    Sugimoto, Kanako
    Tsutsumi, Takahiro
    Wells, Akeem
    Williams, Stewart J.
    [J]. ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XXVI, 2019, 521 : 515 - 518
  • [7] CRYSTALpytools: A Python']Python infrastructure for the CRYSTAL code
    Camino, Bruno
    Zhou, Huanyu
    Ascrizzi, Eleonora
    Boccuni, Alberto
    Bodo, Filippo
    Cossard, Alessandro
    Mitoli, Davide
    Ferrari, Anna Maria
    Erba, Alessandro
    Harrison, Nicholas M.
    [J]. COMPUTER PHYSICS COMMUNICATIONS, 2023, 292
  • [8] Detecting Code Smells in Python']Python Programs
    Chen, Zhifei
    Chen, Lin
    Ma, Wanwangying
    Xu, Baowen
    [J]. 2016 INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, TESTING AND EVOLUTION (SATE 2016), 2016, : 18 - 23
  • [9] Study of defects in a program code in Python']Python
    Bronshteyn, I. E.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2013, 39 (06) : 279 - 284
  • [10] What does this Python']Python code do? An exploratory analysis of novice students' code explanations
    van der Werf, Vivian
    Aivaloglou, Efthimia
    Hermans, Felienne
    Specht, Marcus
    [J]. CSERC'21: THE 10TH COMPUTER SCIENCE EDUCATION RESEARCH CONFERENCE, 2021, : 94 - 107