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 条
  • [1] The eval that men do: A large-scale study of the use of eval in javascript applications
    Purdue University, United States
    不详
    Lect. Notes Comput. Sci., (52-78):
  • [2] What We Eval in the Shadows A Large-Scale Study of Eval in R Programs
    Goel, Aviral
    Donat-Bouillud, Pierre
    Krikava, Filip
    Kirsch, Christoph M.
    Vitek, Jan
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2021, 5 (OOPSLA):
  • [3] Is eval () Evil : A study of Java']JavaScript in PDF malware
    Lemay, Antoine
    Leblanc, Sylvain P.
    PROCEEDINGS OF THE 2018 13TH INTERNATIONAL CONFERENCE ON MALICIOUS AND UNWANTED SOFTWARE (MALWARE 2018), 2018, : 13 - 22
  • [4] Eval Begone! Semi-Automated Removal of Eval from Java']JavaScript Programs
    Meawad, Fadi
    Richards, Gregor
    Morandat, Floreal
    Vitek, Jan
    ACM SIGPLAN NOTICES, 2012, 47 (10) : 607 - 620
  • [5] A Tested Semantics for Getters, Setters, and Eval in Java']JavaScript
    Politz, Joe Gibbs
    Carroll, Matthew J.
    Lerner, Benjamin S.
    Pombrio, Justin
    Krishnamurthi, Shriram
    ACM SIGPLAN NOTICES, 2013, 48 (02) : 1 - 16
  • [6] Remedying the eval that men do
    Jensen, Simon Holm
    Jonsson, Peter A.
    Møller, Anders
    2012 International Symposium on Software Testing and Analysis, ISSTA 2012 - Proceedings, 2012, : 34 - 44
  • [7] Eval Is Evil: Analyzing Performance of Web Applications Based on PHP and Java']JavaScript by Static Analysis
    Shah, Nilay
    Gubbala, Praveen
    COMPUTING AND NETWORK SUSTAINABILITY, 2017, 12 : 109 - 117
  • [8] Practically Tunable Static Analysis Framework for Large-Scale Java']JavaScript Applications
    Ko, Yoonseok
    Lee, Hongki
    Dolby, Julian
    Ryu, Sukyoung
    2015 30TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2015, : 541 - 551
  • [9] A large-scale empirical study of code smells in Java']JavaScript projects
    Johannes, David
    Khomh, Foutse
    Antoniol, Giuliano
    SOFTWARE QUALITY JOURNAL, 2019, 27 (03) : 1271 - 1314
  • [10] Static Analysis of Large-Scale Java']JavaScript Front End
    Karakochev, Anton
    Zhang, Gefei
    WEB ENGINEERING, ICWE 2021, 2021, 12706 : 483 - 489