Title | Code Smell Detection Tool for Java Script Programs |
Publication Type | Conference Paper |
Year of Publication | 2020 |
Authors | Almashfi, Nabil, Lu, Lunjin |
Conference Name | 2020 5th International Conference on Computer and Communication Systems (ICCCS) |
Keywords | code smells, composability, Detectors, Human Behavior, Indexes, JavaScript, Measurement, pubcrawl, Reactive power, Resiliency, static analysis, static code analysis, Syntactics, Tools |
Abstract | JavaScript is a client-side scripting language that is widely used in web applications. It is dynamic, loosely-typed and prototype-based with first-class functions. The dynamic nature of JavaScript makes it powerful and highly flexible in almost every way. However, this flexibility may result in what is known as code smells. Code smells are characteristics in the source code of a program that usually correspond to a deeper problem. They can lead to a variety of comprehension and maintenance issues and they may impact fault- and change-proneness of the application in the future. We present TAJSlint, an automated code smell detection tool for JavaScript programs that is based on static analysis. TAJSlint includes a set of 14 code smells, 9 of which are collected from various sources and 5 new smells we propose. We conduct an empirical evaluation of TAJSlint on a number of JavaScript projects and show that TAJSlint achieves an overall precision of 98% with a small number of false positives. We also study the prevalence of code smells in these projects. |
DOI | 10.1109/ICCCS49078.2020.9118465 |
Citation Key | almashfi_code_2020 |