Inference and Evolution of TypeScript Declaration Files

Erik Krogh Kristensen, Anders Møller

Research output: Contribution to book/anthology/report/proceedingBook chapterResearchpeer-review

430 Downloads (Pure)


TypeScript is a typed extension of JavaScript that has become widely used. More than 2000 JavaScript libraries now have publicly available TypeScript declaration files, which allows the libraries to be used when programming TypeScript applications. Such declaration files are written manually, however, and they are often lagging behind the continuous development of the libraries, thereby hindering their usability. The existing tool tscheck is capable of detecting mismatches between the libraries and their declaration files, but it is less suitable when creating and evolving declaration files. In this work we present the tools tsinfer and tsevolve that are designed to assist the construction of new TypeScript declaration files and support the co-evolution of the declaration files as the underlying JavaScript libraries evolve. Our experimental results involving major libraries demonstrate that tsinfer and tsevolve are superior to tscheck regarding these tasks and that the tools are sufficiently fast and precise for practical use.

Original languageEnglish
Title of host publicationFundamental Approaches to Software Engineering - 20th International Conference, FASE 2017 Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Proceedings : 20th International Conference, FASE 2017, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Uppsala, Sweden, April 22-29, 2017, Proceedings
EditorsMarieke Huisman, Julia Rubin
Number of pages17
Place of publicationBerlin, Heidelberg
PublisherSpringer VS
Publication date2017
ISBN (Print)978-3-662-54494-5
Publication statusPublished - 2017
EventFundamental Approaches to Software Engineering - Uppsala, Sweden
Duration: 22 Apr 201729 Apr 2017
Conference number: 20


ConferenceFundamental Approaches to Software Engineering
Internet address
SeriesLecture Notes in Computer Science


Dive into the research topics of 'Inference and Evolution of TypeScript Declaration Files'. Together they form a unique fingerprint.

Cite this