An empirical study on bugs in TypeScript programming language

The TypeScript programming language adds static types to JavaScript, which can be seen as a superset of JavaScript. As special infrastructure software, programming languages may also have bugs, preventing the correct source code from being executed correctly and reliably. To deeply understand the ch...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:The Journal of systems and software Ročník 226; s. 112445
Hlavní autori: Wang, Ziyuan, Fang, Yun, Wang, Nannan
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: Elsevier Inc 01.08.2025
Predmet:
ISSN:0164-1212
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí:The TypeScript programming language adds static types to JavaScript, which can be seen as a superset of JavaScript. As special infrastructure software, programming languages may also have bugs, preventing the correct source code from being executed correctly and reliably. To deeply understand the characteristics of historical bugs in the TypeScript programming language, this paper conducts an empirical study. The study involved the versions and features of programming language affected by bugs, the symptoms caused by bugs, the efforts to fix bugs, and the root causes of bugs. By analyzing 8814 bug reports and 7974 pull requests in the repository of TypeScript, our findings reveal that programming language features most severely affected by bugs are “Name, Binding and Scope” and “data types”. The most frequent symptoms include “Behavior Error” and “Compile Error”. The most common root causes are “Missing Features”, “Wrong Control Flow”, “Data Type” errors, and “Processing” errors, all of which could be categorized into “Semantic” errors. Our findings could reveal some characteristics of bugs in TypeScript, provide potential help to developers, testers, and maintainers of TypeScript to improve the quality of TypeScript, and provide a better programming experience for users of TypeScript. •A large-scale empirical study on bugs in TypeScript programming language.•Analyze versions and features of programming language affected by bugs.•Analyze the symptoms and root causes of bugs.•Reveal how bugs are triggered and fixed.•Give implications for developers, testers, maintainers, and users of TypeScript.
ISSN:0164-1212
DOI:10.1016/j.jss.2025.112445