jscefr: A Framework to Evaluate the Code Proficiency for JavaScript
Chaiyong Ragkhitwetsagul, Komsan Kongwongsupak, Thanakrit Maneesawas,, Natpichsinee Puttiwarodom, Ruksit Rojpaisarnkit, Morakot Choetkiertikul,, Raula Gaikovina Kula, Thanwadee Sunetnanta

TL;DR
The paper introduces jscefr, a tool that assesses JavaScript code complexity and proficiency levels by analyzing code elements, aiding in software maintenance and understanding.
Contribution
It extends the CEFR framework to JavaScript, classifies code into six proficiency levels, and evaluates real-world projects using a comprehensive set of code constructs.
Findings
Successfully classifies JavaScript code into six proficiency levels.
Detects and categorizes 138 JavaScript code constructs.
Applied to NPM projects with insightful results.
Abstract
In this paper, we present jscefr (pronounced jes-cee-fer), a tool that detects the use of different elements of the JavaScript (JS) language, effectively measuring the level of proficiency required to comprehend and deal with a fragment of JavaScript code in software maintenance tasks. Based on the pycefr tool, the tool incorporates JavaScript elements and the well-known Common European Framework of Reference for Languages (CEFR) and utilizes the official ECMAScript JavaScript documentation from the Mozilla Developer Network. jscefr categorizes JS code into six levels based on proficiency. jscefr can detect and classify 138 different JavaScript code constructs. To evaluate, we apply our tool to three JavaScript projects of the NPM ecosystem, with interesting results. A video demonstrating the tool's availability and usage is available at https://youtu.be/Ehh-Prq59Pc.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTeaching and Learning Programming · Software Testing and Debugging Techniques
