ICSE 2026
Sun 12 - Sat 18 April 2026 Rio de Janeiro, Brazil

JavaScript offers a wide range of language features, providing developers with multiple ways—known as feature alternatives—to accomplish tasks. While this flexibility is beneficial, improper usage of feature alternatives can lead to code being bug-prone and challenging to maintain. Therefore, exploring how language feature alternatives are utilized in the wild is vital to providing valuable insights for the language community. Existing research has studied individual JavaScript features; however, there is still a gap in understanding the negative patterns that arise from the improper or combined use of feature alternatives. To fill this gap, we collected 3066 open-source project versions and conducted a comprehensive empirical analysis of 12 JavaScript (and TypeScript) features with alternative implementations, revealing the language feature alternatives’ evolving trends (RQ1), usage patterns (RQ2), and code smell issues (RQ3). To support this study, we also designed \emph{DiTU}, a query-based heuristic feature usage analysis method to detect feature usage from large-scale repositories. Our study revealed 12 usage patterns, with seven of them further evaluated as code smell patterns. Additionally, we introduced nine insightful metrics that provide a deeper understanding of these patterns. Our results benefit language designers, users, and tool developers in navigating the evolving landscape of JavaScript.