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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:The Journal of systems and software Jg. 226; S. 112445
Hauptverfasser: Wang, Ziyuan, Fang, Yun, Wang, Nannan
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier Inc 01.08.2025
Schlagworte:
ISSN:0164-1212
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung: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