• Open Access IconOpen Access
  • Cite Icon422
  • https://doi.org/10.1007/978-3-642-03237-0_17Copy DOI Icon

Type Analysis for JavaScript

  • Jan 1, 2009
  • Simon Holm Jensen +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

JavaScript is the main scripting language for Web browsers, and it is essential to modern Web applications. Programmers have started using it for writing complex applications, but there is still little tool support available during development. We present a static program analysis infrastructure that can infer detailed and sound type information for JavaScript programs using abstract interpretation. The analysis is designed to support the full language as defined in the ECMAScript standard, including its peculiar object model and all built-in functions. The analysis results can be used to detect common programming errors --- or rather, prove their absence, and for producing type information for program comprehension. Preliminary experiments conducted on real-life JavaScript code indicate that the approach is promising regarding analysis precision on small and medium size programs, which constitute the majority of JavaScript applications. With potential for further improvement, we propose the analysis as a foundation for building tools that can aid JavaScript programmers.

Similar Papers
  • Abstract

Pediatric Oncology Clinic Care Model: How to Care for Patients to Achieve Better Continuity of Care in a Medium Sized Program

  • Dec 06, 2014
  • Blood
  • Donna Johnston +7
  • Conference Article
  • Citations2

Wireless Text Entry and Mouse System for the Handicapped

  • Jan 01, 2019
  • Chun Hou Cheah +4
  • Single Report
  • Citations10

Red Language Reference Manual

  • Mar 08, 1979
  • John Nestor +1
  • Research Article
  • Citations27

The Clara framework for hybrid typestate analysis

  • Dec 05, 2010
  • International Journal on Software Tools for Technology Transfer
  • Eric Bodden +1
  • Conference Article
  • Citations3

Tool support for secure programming by security testing

  • Apr 01, 2015
  • Keqin Li +6
  • Conference Article
  • Citations247

Taming reflection

  • May 21, 2011
  • Eric Bodden +4
  • Research Article
  • Citations1

A practical algorithm for learning disjunctive abstraction heuristics in static program analysis

  • Mar 08, 2021
  • Information and Software Technology
  • Donghoon Jeon +2
  • Research Article
  • Citations8

Assessment of Computational Tools in Support of Heat-Transfer Correlation Development for Fuel Assembly of Canadian Supercritical Water-Cooled Reactor

  • Dec 09, 2015
  • Journal of Nuclear Engineering and Radiation Science
  • Laurence K H Leung +2
  • Research Article
  • Citations26

Static analysis of multi-staged programs via unstaging translation

  • Jan 26, 2011
  • ACM SIGPLAN Notices
  • Wontae Choi +3
  • Research Article

Language ideologies and pedagogical tensions: Norwegian teachers’ and students’ attitudes toward home language use in the EAL classroom

  • Sep 23, 2025
  • Frontiers in Education
  • Georgios Neokleous +1
  • Research Article
  • Citations2

FTCI: A Tool to Identify Failure Triggering Combinations for Interaction Testing

  • Oct 14, 2016
  • Indian Journal of Science and Technology
  • Manuj Aggarwal +2
  • Research Article
  • Citations4

Integration of Triple Graph Grammars and Constraints

  • Nov 21, 2012
  • Technische Universität Berlin – Universitätsbibliothek
  • Stephan Hildebrandt +3
  • PDF
  • Research Article
  • Citations113

G4IPDB: A database for G-quadruplex structure forming nucleic acid interacting proteins

  • Dec 01, 2016
  • Scientific Reports
  • Subodh Kumar Mishra +3
  • Conference Article
  • Citations24

Remote Condition Monitoring for Railway Point Machine

  • Jan 01, 2002
  • F B Zhou +4
  • Research Article
  • Citations22

Medicines and driving: evaluation of training and software support for patient counselling by pharmacists

  • Jun 08, 2012
  • International Journal of Clinical Pharmacy
  • Sara-Ann Legrand +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.