Automated Techniques for Creation and Maintenance of TypeScript Declaration Files

Erik Krogh Kristensen

Research output: Book/anthology/dissertation/reportPh.D. thesis

871 Downloads (Pure)

Abstract

JavaScript startede som et scriptingsprog til at lave små interaktive
hjemmesider. Dog udvikles større applikationer, både hjemmesider og
andre applikationer, i stigende grad ved brug af JavaScript. JavaScriptsprogets dynamiske karakter gør det vanskeligt at skabe fornuftige
udviklingsmiljøer med funktioner som automatisk kode-fuldendelse og
kode-navigation. TypeScript er et superset af JavaScript, der udover
JavaScript tilføjer et valgfrit system af statiske typer, der muliggør
funktioner som automatisk kode-fuldendelse, kode-navigation og
detektion af typefejl. Mange TypeScript-applikationer bruger dog stadig
ikke-typede biblioteker skrevet i JavaScript. Udviklere eller brugere af disse
JavaScript-biblioteker kan vælge at skrive TypeScript-deklarationsfiler, der
leverer API-modeller af bibliotekerne og bruges til at kontrollere typerne i
TypeScript-applikationer. Disse deklarationsfiler er dog skrevet manuelt
og ofte ikke af de originale forfattere af biblioteket, hvilket kan medføre
fejltagelser, der kan vildlede TypeScript-applikationsudviklere og i sidste
ende forårsage fejl.
Målet med denne afhandling er at designe automatiserede teknikker
til at assistere i udviklingen af TypeScript-deklarationsfiler. Denne
afhandling identificerer flere udfordringer, som udviklere af TypeScriptdeklarationsfiler står overfor, og håndterer disse udfordringer ved hjælp
af teknikker fra programmeringssprogforskning. Type inferens bruges
til at oprette nye og opdatere eksisterende deklarationsfiler. Automatisk
testning bruges til at opdage fejl i deklarationsfiler. Endeligt bruges
datastrømningsanalyse og et nyt koncept af rimelige-mest-generelle klienter
til at verificere fraværet af fejl i deklarationsfiler. Hver af teknikkerne
bruges til at forbedre kvaliteten af faktisk benyttede deklarationsfiler.
Original languageDanish
PublisherAarhus University
Publication statusPublished - Oct 2019
  • Reasonably-Most-General Clients for JavaScript Library Analysis

    Kristensen, E. K. & Møller, A., 29 May 2019, In: Proceedings of the International Conference on Software Engineering. p. 83-93 11 p.

    Research output: Contribution to journal/Conference contribution in journal/Contribution to newspaperJournal articleResearchpeer-review

    Open Access
    File
    157 Downloads (Pure)
  • Inference and Evolution of TypeScript Declaration Files

    Kristensen, E. K. & Møller, A., 2017, Fundamental 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. Huisman, M. & Rubin, J. (eds.). Berlin, Heidelberg: Springer VS, Vol. 10202. p. 99-115 17 p. (Lecture Notes in Computer Science, Vol. 10202).

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

    Open Access
    File
    423 Downloads (Pure)
  • Type Test Scripts for TypeScript Testing

    Kristensen, E. K. & Møller, A., 1 Oct 2017, In: Proceedings of the ACM on Programming Languages . 1, OOPSLA, p. 90:1-90:25 25 p., 90.

    Research output: Contribution to journal/Conference contribution in journal/Contribution to newspaperJournal articleResearchpeer-review

Cite this