Type Analysis for Java']JavaScript

被引:0
|
作者
Jensen, Simon Holm [1 ]
Moller, Anders [1 ]
Thiemann, Peter [2 ]
机构
[1] Aarhus Univ, DK-8000 Aarhus C, Denmark
[2] Univ Freiburg, Freiburg, Germany
来源
STATIC ANALYSIS | 2009年 / 5673卷
关键词
SYSTEM;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:238 / +
页数:3
相关论文
共 50 条
  • [1] Type Refinement for Static Analysis of Java']JavaScript
    Kashyap, Vineeth
    Sarracino, John
    Wagner, John
    Wiedermann, Ben
    Hardekopf, Ben
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (02) : 17 - 26
  • [2] TypeDevil: Dynamic Type Inconsistency Analysis for Java']JavaScript
    Pradel, Michael
    Schuh, Parker
    Sen, Koushik
    [J]. 2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 1, 2015, : 314 - 324
  • [3] Type Checking for Java']JavaScript
    Anderson, Christopher
    Giannini, Paola
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 138 (02) : 37 - 58
  • [4] Towards type inference for Java']JavaScript
    Anderson, C
    Giannini, P
    Drossopoulou, S
    [J]. ECOOP 2005 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2005, 3586 : 428 - 452
  • [5] To Type or Not to Type: Quantifying Detectable Bugs in Java']JavaScript
    Gao, Zheng
    Bird, Christian
    Barr, Earl T.
    [J]. 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2017, : 758 - 769
  • [6] Mining API Type Specifications for Java']JavaScript
    Wang, Shuai
    Dou, Wensheng
    Gao, Chushu
    Wei, Jun
    Huang, Tao
    [J]. 2017 24TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2017), 2017, : 368 - 377
  • [7] Type Inference for Static Compilation of Java']JavaScript
    Chandra, Satish
    Gordon, Colin S.
    Jeannin, Jean-Baptiste
    Schlesinger, Cole
    Sridharan, Manu
    Tip, Frank
    Choi, Youngil
    [J]. ACM SIGPLAN NOTICES, 2016, 51 (10) : 410 - 429
  • [8] TeJaS: Retrofitting Type Systems for Java']JavaScript
    Lerner, Benjamin S.
    Politz, Joe Gibbs
    Guha, Arjun
    Krishnamurthi, Shriram
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (02) : 1 - 15
  • [9] Dynamic Flow Analysis for Java']JavaScript
    Naus, Nico
    Thiemann, Peter
    [J]. TRENDS IN FUNCTIONAL PROGRAMMING (TFP 2016), 2019, 10447 : 75 - 93
  • [10] JS']JSFox: Integrating Static and Dynamic Type Analysis of Java']JavaScript Programs
    Tan, Tian Huat
    Xue, Yinxing
    Chen, Manman
    Liu, Shuang
    Yu, Yi
    Sun, Jun
    [J]. PROCEEDINGS OF THE 2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C 2017), 2017, : 256 - 258