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 条
  • [31] Reducing Trace Selection Footprint for Large-scale Java']Java Applications without Performance Loss
    Wu, Peng
    Hayashizaki, Hiroshige
    Inoue, Hiroshi
    Nakatani, Toshio
    OOPSLA 11: PROCEEDINGS OF THE 2011 ACM INTERNATIONAL CONFERENCE ON OBJECT ORIENTED PROGRAMMING SYSTEMS LANGUAGES AND APPLICATIONS, 2011, : 789 - 804
  • [32] Large-scale parallel geophysical algorithms in Java: A feasibility study
    Jacob, Matthias
    Philippsen, Michael
    Karrenbach, Martin
    Leading Edge (Tulsa, OK), 1998, 17 (12):
  • [33] Large-scale parallel geophysical algorithms in Java: A feasibility study
    Univ of Karlsruhe, Karlsruhe, Germany
    Concurrency Pract Exper, 11-13 (1143-1153):
  • [34] Designing and developing portable large-scale JavaScript web applications within the Experiment Dashboard framework
    Andreeva, J.
    Dzhunov, I.
    Karavakis, E.
    Kokoszkiewicz, L.
    Nowotka, M.
    Saiz, P.
    Tuckett, D.
    Journal of Physics: Conference Series, 2012, 396 (PART 5):
  • [35] THE USE OF PROTOTYPING AND SIMULATION IN THE DEVELOPMENT OF LARGE-SCALE APPLICATIONS
    HARKER, S
    COMPUTER JOURNAL, 1988, 31 (05): : 420 - 425
  • [36] A Large-Scale Empirical Study on Java']Java Library Migrations: Prevalence, Trends, and Rationales
    He, Hao
    He, Runzhi
    Gu, Haiqiao
    Zhou, Minghui
    PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21), 2021, : 478 - 490
  • [37] SourcererJBF: A Java']Java Build Framework For Large-Scale Compilation
    Misu, Md Rakib Hossain
    Achar, Rohan
    Lopes, Cristina V.
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2024, 33 (03)
  • [38] Do developers deprecate APIs with replacement messages? A large-scale analysis on Java systems
    ASERG Group, Department of Computer Science , Federal University of Minas Gerais, Brazil
    不详
    IEEE Int. Conf. on Softw. Anal., Evol., Reengineering, SANER, 2016, (360-369):
  • [39] Understanding Java']JavaScript Vulnerabilities in Large Real-World Android Applications
    Song, Wei
    Huang, Qingqing
    Huang, Jeff
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2020, 17 (05) : 1063 - 1078
  • [40] What are the characteristics of popular APIs? A large-scale study on Java']Java, Android, and 165 libraries
    Lima, Caroline
    Hora, Andre
    SOFTWARE QUALITY JOURNAL, 2020, 28 (02) : 425 - 458