Code Smell Detection Tool for Java']Java Script Programs

被引:0
|
作者
Almashfi, Nabil [1 ]
Lu, Lunjin [1 ]
机构
[1] Oakland Univ, Comp Sci & Engn Dept, Rochester, MI 48309 USA
关键词
!text type='Java']Java[!/text]Script; static analysis; code smells;
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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. TAJSiint 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.
引用
收藏
页码:172 / 176
页数:5
相关论文
共 50 条
  • [1] HBSNIFF: A static analysis tool for Java']Java Hibernate object-relational mapping code smell detection
    Huang, Zijie
    Shao, Zhiqing
    Fan, Guisheng
    Yu, Huiqun
    Yang, Kang
    Zhou, Ziyi
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2022, 217
  • [2] A deadlock detection tool for concurrent Java']Java programs
    Demartini, C
    Iosif, R
    Sisto, R
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 1999, 29 (07): : 577 - 603
  • [3] Systematic Exhortation of Code Smell Detection Using JS']JSmell for Java']Java Source Code
    Sangeetha, M.
    Sengottuvelan, P.
    [J]. PROCEEDINGS OF THE 2017 INTERNATIONAL CONFERENCE ON INVENTIVE SYSTEMS AND CONTROL (ICISC 2017), 2017, : 384 - 388
  • [4] An Analysis of the Dynamic Behavior of Java']Java Script Programs
    Richards, Gregor
    Lebresne, Sylvain
    Burg, Brian
    Vitek, Jan
    [J]. PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, : 1 - 12
  • [5] Tool-supported Refactoring for Java']Java Script
    Feldthaus, Asger
    Millstein, Todd
    Moller, Anders
    Schaefer, Max
    Tip, Frank
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (10) : 119 - 137
  • [6] A Static Code Smell Detector for SQL Queries Embedded in Java']Java Code
    Nagy, Csaba
    Cleve, Anthony
    [J]. 2017 IEEE 17TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2017, : 147 - 152
  • [7] Code complexity estimation for Java']Java programs
    Simon, Melinda
    Porkolab, Zoltan
    Horvath, Gabor
    [J]. 2015 IEEE 13th International Scientific Conference on Informatics, 2015, : 232 - 235
  • [8] Code Coverage Visualization on Web-Based Testing Tool for Java']Java Programs
    Saputra, Mochamad Chandra
    Katayama, Tetsuro
    [J]. PROCEEDINGS OF INTERNATIONAL CONFERENCE ON ARTIFICIAL LIFE AND ROBOTICS (ICAROB2015), 2015, : 372 - 375
  • [9] Code Coverage Visualization on Web-Based Testing Tool for Java']Java Programs
    Saputra, Mochamad Chandra
    Katayama, Tetsuro
    [J]. JOURNAL OF ROBOTICS NETWORKING AND ARTIFICIAL LIFE, 2015, 2 (02): : 89 - 93
  • [10] Crisp: A debugging tool for Java']Java programs
    Chesley, OC
    Ren, XX
    Ryder, BG
    [J]. ICSM 2005: PROCEEDINGS OF THE 21ST IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2005, : 401 - 410