{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,18]],"date-time":"2026-03-18T04:54:19Z","timestamp":1773809659172,"version":"3.50.1"},"publisher-location":"Berlin, Heidelberg","reference-count":23,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783662544938","type":"print"},{"value":"9783662544945","type":"electronic"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"DOI":"10.1007\/978-3-662-54494-5_6","type":"book-chapter","created":{"date-parts":[[2017,3,22]],"date-time":"2017-03-22T00:09:02Z","timestamp":1490141342000},"page":"99-115","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":8,"title":["Inference and Evolution of TypeScript Declaration Files"],"prefix":"10.1007","author":[{"given":"Erik Krogh","family":"Kristensen","sequence":"first","affiliation":[]},{"given":"Anders","family":"M\u00f8ller","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2017,3,22]]},"reference":[{"key":"6_CR1","unstructured":"Andersen, L.O.: Program analysis and specialization for the C programming language. PhD thesis, University of Copenhagen (1994)"},{"key":"6_CR2","doi-asserted-by":"crossref","unstructured":"Andreasen, E., M\u00f8ller, A.: Determinacy in static analysis for jQuery. In: Proceeding ACM International Conference on Object Oriented Programming Systems Languages & Applications (2014)","DOI":"10.1145\/2660193.2660214"},{"key":"6_CR3","doi-asserted-by":"crossref","unstructured":"Bae, S., Cho, H., Lim, I., Ryu, S.: SAFE$$_\\text{WAPI}$$: web API misuse detector for web applications. In: Proceeding 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (2014)","DOI":"10.1145\/2635868.2635916"},{"key":"6_CR4","doi-asserted-by":"crossref","unstructured":"Bierman, G.M., Abadi, M., Torgersen, M.: Understanding typescript. In: Proceeding 28th European Conference on Object-Oriented Programming (2014)","DOI":"10.1007\/978-3-662-44202-9_11"},{"key":"6_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1007\/978-3-662-49498-1_4","volume-title":"Programming Languages and Systems","author":"A Bonnaire-Sergeant","year":"2016","unstructured":"Bonnaire-Sergeant, A., Davies, R., Tobin-Hochstadt, S.: Practical optional types for clojure. In: Thiemann, P. (ed.) ESOP 2016. LNCS, vol. 9632, pp. 68\u201394. Springer, Heidelberg (2016). doi:10.1007\/978-3-662-49498-1_4"},{"key":"6_CR6","doi-asserted-by":"crossref","unstructured":"Chandra, S., Gordon, C.S., Jeannin, J.-B., Schlesinger, C., Sridharan, M., Tip, F., Choi, Y.-I.: Type inference for static compilation of JavaScript. In: Proceeding ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (2016)","DOI":"10.1145\/2983990.2984017"},{"key":"6_CR7","unstructured":"Facebook. Flow (2016). http:\/\/flowtype.org\/"},{"key":"6_CR8","doi-asserted-by":"crossref","unstructured":"Feldthaus, A., M\u00f8ller, A.: Checking correctness of TypeScript interfaces for JavaScript libraries. In: Proceeding ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (2014)","DOI":"10.1145\/2660193.2660215"},{"key":"6_CR9","doi-asserted-by":"crossref","unstructured":"Jensen, S.H., M\u00f8ller, A., Thiemann, P.: Type analysis for JavaScript. In: Proceeding 16th International Static Analysis Symposium (2009)","DOI":"10.1007\/978-3-642-03237-0_17"},{"key":"6_CR10","unstructured":"Lehtosalo, J., et al.: Mypy (2016). http:\/\/www.mypy-lang.org\/"},{"key":"6_CR11","doi-asserted-by":"crossref","unstructured":"Lerner, B.S., Politz, J.G., Guha, A., Krishnamurthi, S.: TeJaS: retrofitting type systems for JavaScript. In: Proceeding 9th Symposium on Dynamic Languages (2013)","DOI":"10.1145\/2508168.2508170"},{"key":"6_CR12","unstructured":"\u2018Matz\u2019 Matsumoto, Y.: RubyConf 2014 \u2013 opening keynote (2014). http:\/\/confreaks.tv\/videos\/rubyconf2014-opening-keynote"},{"key":"6_CR13","unstructured":"Microsoft. TypeScript language specification, February 2015. https:\/\/github.com\/Microsoft\/TypeScript\/blob\/master\/doc\/spec.md"},{"key":"6_CR14","doi-asserted-by":"crossref","unstructured":"Padioleau, Y., Lawall, J.L., Hansen, R.R., Muller, G.: Documenting and automating collateral evolutions in Linux device drivers. In: Proceeding EuroSys Conference. ACM (2008)","DOI":"10.1145\/1352592.1352618"},{"key":"6_CR15","doi-asserted-by":"crossref","unstructured":"Pottier, F.: A framework for type inference with subtyping. In: Proceeding 3rd ACM SIGPLAN International Conference on Functional Programming (1998)","DOI":"10.1145\/289423.289448"},{"key":"6_CR16","doi-asserted-by":"crossref","unstructured":"Rastogi, A., Chaudhuri, A., Hosmer, B.: The ins and outs of gradual type inference. In: Proceeding 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (2012)","DOI":"10.1145\/2103656.2103714"},{"key":"6_CR17","doi-asserted-by":"crossref","unstructured":"Rastogi, A., Swamy, N., Fournet, C., Bierman, G.M., Vekris, P.: Safe & efficient gradual typing for TypeScript. In: Proceeding 42nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (2015)","DOI":"10.1145\/2676726.2676971"},{"key":"6_CR18","unstructured":"Richards, G., Zappa Nardelli, F., Vitek, J.: In: Proceeding 29th European Conference on Object-Oriented Programming (2015)"},{"key":"6_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"435","DOI":"10.1007\/978-3-642-31057-7_20","volume-title":"ECOOP 2012 \u2013 Object-Oriented Programming","author":"M Sridharan","year":"2012","unstructured":"Sridharan, M., Dolby, J., Chandra, S., Sch\u00e4fer, M., Tip, F.: Correlation tracking for points-to analysis of JavaScript. In: Noble, J. (ed.) ECOOP 2012. LNCS, vol. 7313, pp. 435\u2013458. Springer, Heidelberg (2012). doi:10.1007\/978-3-642-31057-7_20"},{"key":"6_CR20","doi-asserted-by":"crossref","unstructured":"Steensgaard, B.: Points-to analysis in almost linear time. In: Proceeding 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (1996)","DOI":"10.1145\/237721.237727"},{"key":"6_CR21","doi-asserted-by":"crossref","unstructured":"Tobin-Hochstadt, S., Felleisen, M.: The design and implementation of typed Scheme (2008)","DOI":"10.1145\/1328438.1328486"},{"key":"6_CR22","doi-asserted-by":"crossref","unstructured":"Vekris, P., Cosman, B., Jhala, R.: Refinement types for TypeScript. In: Proceeding 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (2016)","DOI":"10.1145\/2908080.2908110"},{"key":"6_CR23","doi-asserted-by":"crossref","unstructured":"Vitousek, M.M., Kent, A.M., Siek, J.G., Baker, J.: Design and evaluation of gradual typing for Python. In: Proceeding 10th ACM Symposium on Dynamic Languages (2014)","DOI":"10.1145\/2661088.2661101"}],"container-title":["Lecture Notes in Computer Science","Fundamental Approaches to Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-662-54494-5_6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,21]],"date-time":"2021-04-21T02:11:24Z","timestamp":1618971084000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-662-54494-5_6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9783662544938","9783662544945"],"references-count":23,"URL":"https:\/\/doi.org\/10.1007\/978-3-662-54494-5_6","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017]]},"assertion":[{"value":"22 March 2017","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FASE","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Fundamental Approaches to Software Engineering","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Uppsala","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Sweden","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2017","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26 April 2017","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"28 April 2017","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"fase2017","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.etaps.org\/index.php\/2017\/fase","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}