Bachelor Thesis BCLR-2021-90

BibliographyMerkel, Manuel: Do TypeScript applications show better software quality than JavaScript applications? : a repository mining study in GitHub.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 90 (2021).
73 pages, english.
Abstract

JavaScript, the most widely used programming language, is the language for developing the client-side of web applications and, more recently, smartphone and desktop applications. However, due to its dynamic and flexible nature, it often has the reputation of delivering poor software quality. The emerging popular language TypeScript, which evolved from JavaScript, offers features to eliminate these prejudices. Therefore, this thesis addresses the arising question: Do TypeScript applications show better software quality than JavaScript applications? Furthermore, the impact of type safety on the software quality of TypeScript applications is investigated and whether the chosen framework has an impact on the software quality of the two programming languages. To be able to make a statement about these properties, a large-scale mining software repository study was conducted on GitHub. A total of 604 GitHub JavaScript and TypeScript repositories with over 16 million lines of code were examined. Three research questions were created to examine four software quality metrics: 1. code smells per LoC as an indicator of code quality 2. bug-fix commit ratio, which reflects bug proneness 3. average time a bug issue is open on GitHub, which represents the bug resolution time and 4. cognitive complexity per LoC to analyze code understandability. These metrics were categorized and evaluated differently for each research question. The data showed that TypeScript applications exhibit significantly better code quality and understandability than JavaScript applications. Contrary to expectations, there was not enough evidence that TypeScript applications are less bug prone and take less time in bug resolution than JavaScript applications. For TypeScript applications, it appears that insisting on type safety is beneficial, as it leads to significantly better quality in three out of four quality metrics. Lastly, it can be summarized that the choice of the framework has only a modest impact on the software quality of the programming languages.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Software Technology, Empirical Software Engineering
Superviser(s)Wagner, Prof. Stefan; Bogner, Dr. Justus
Entry dateApril 28, 2022
   Publ. Computer Science