The Eval That Men Do A Large-Scale Study of the Use of Eval in Java']JavaScript Applications

被引:0
|
作者
Richards, Gregor [1 ]
Hammer, Christian [1 ]
Burg, Brian [2 ]
Vitek, Jan [1 ]
机构
[1] Purdue Univ, W Lafayette, IN 47907 USA
[2] Univ Washington, Seattle, WA 98195 USA
来源
ECOOP 2011 - OBJECT-ORIENTED PROGRAMMING | 2011年 / 6813卷
基金
美国国家科学基金会;
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Transforming text into executable code with a function such as Java-Script's eval endows programmers with the ability to extend applications, at any time, and in almost any way they choose. But, this expressive power comes at a price: reasoning about the dynamic behavior of programs that use this feature becomes challenging. Any ahead-of-time analysis, to remain sound, is forced to make pessimistic assumptions about the impact of dynamically created code. This pessimism affects the optimizations that can be applied to programs and significantly limits the kinds of errors that can be caught statically and the security guarantees that can be enforced. A better understanding of how eval is used could lead to increased performance and security. This paper presents a large-scale study of the use of eval in JavaScript-based web applications. We have recorded the behavior of 337 MB of strings given as arguments to 550,358 calls to the eval function exercised in over 10,000 web sites. We provide statistics on the nature and content of strings used in eval expressions, as well as their provenance and data obtained by observing their dynamic behavior.
引用
收藏
页码:52 / 78
页数:27
相关论文
共 50 条
  • [21] Large-scale characterization of Java']Java streams
    Rosales, Eduardo
    Basso, Matteo
    Rosa, Andrea
    Binder, Walter
    SOFTWARE-PRACTICE & EXPERIENCE, 2023, 53 (09): : 1763 - 1792
  • [22] Java']Java for large-scale scientific computations?
    Krall, A
    Tomsich, P
    LARGE-SCALE SCIENTIFIC COMPUTING, 2001, 2179 : 228 - 235
  • [23] Programming the World in a Browser Real Men Don't Do Java']JavaScript Do They?!
    Thomas, Dave
    JOURNAL OF OBJECT TECHNOLOGY, 2007, 6 (10): : 25 - 29
  • [24] JS']JSPRE: A Large-Scale Detection of Malicious Java']JavaScript Code Based on Pre-filter
    Hou, Bingnan
    Yu, Jiaping
    Liu, Bixin
    Cai, Zhiping
    CLOUD COMPUTING AND SECURITY, PT VI, 2018, 11068 : 586 - 599
  • [25] Do Developers Deprecate APIs with Replacement Messages? A Large-Scale Analysis on Java']Java Systems
    Brito, Gleison
    Hora, Andre
    Valente, Marco Tulio
    Robbes, Romain
    2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 1, 2016, : 360 - 369
  • [26] A large-scale study on the usage of Java']Java's concurrent programming constructs
    Pinto, Gustavo
    Torres, Weslley
    Fernandes, Benito
    Castor, Fernando
    Barros, Roberto S. M.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 106 : 59 - 81
  • [27] License Usage and Changes: A Large-Scale Study of Java']Java Projects on GitHub
    Vendome, Christopher
    Linares-Vasquez, Mario
    Bavota, Gabriele
    Di Penta, Massimiliano
    German, Daniel
    Poshyvanyk, Denys
    2015 IEEE 23RD INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION ICPC 2015, 2015, : 218 - 228
  • [28] Use of Java']JavaScript in simple quantum-chemical applications
    Mosley, DH
    Andre, JM
    THEOCHEM-JOURNAL OF MOLECULAR STRUCTURE, 1997, 419 : 57 - 62
  • [29] Java']Java communications for large-scale parallel computing
    Getov, V
    Philippsen, M
    LARGE-SCALE SCIENTIFIC COMPUTING, 2001, 2179 : 33 - 45
  • [30] Reducing Trace Selection Footprint for Large-scale Java']Java Applications without Performance Loss
    Wu, Peng
    Hayashizaki, Hiroshige
    Inoue, Hiroshi
    Nakatani, Toshio
    ACM SIGPLAN NOTICES, 2011, 46 (10) : 789 - 804