Efficient Dynamic Access Analysis Using Java']JavaScript Proxies

被引:2
|
作者
Keil, Matthias [1 ]
Thiemann, Peter [1 ]
机构
[1] Univ Freiburg, Inst Comp Sci, D-79106 Freiburg, Germany
关键词
Access Permission Contracts; !text type='Java']Java[!/text]Script; Proxies; Design; Languages; Security; Verification; DERIVATIVES; CHECKING; SYSTEM; DESIGN; JML;
D O I
10.1145/2508168.2508176
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
JSConTest introduced the notions of effect monitoring and dynamic effect inference for JavaScript. It enables the description of effects with path specifications resembling regular expressions. It is implemented by an offline source code transformation. To overcome the limitations of the JSConTest implementation, we redesigned and reimplemented effect monitoring by taking advantange of JavaScript proxies. Our new design avoids all drawbacks of the prior implementation. It guarantees full interposition; it is not restricted to a subset of JavaScript; it is self-maintaining; and its scalability to large programs is significantly better than with JSConTest. The improved scalability has two sources. First, the reimplementation is significantly faster than the original, transformationbased implementation. Second, the reimplementation relies on the fly-weight pattern and on trace reduction to conserve memory. Only the combination of these techniques enables monitoring and inference for large programs.
引用
收藏
页码:49 / 60
页数:12
相关论文
共 50 条
  • [1] Dynamic Analysis Using Java']JavaScript Proxies
    Christophe, Laurent
    De Roover, Coen
    De Meuter, Wolfgang
    [J]. 2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 2, 2015, : 813 - 814
  • [2] Static Analysis of Java']Java Dynamic Proxies
    Fourtounis, George
    Kastrinis, George
    Smaragdakis, Yannis
    [J]. ISSTA'18: PROCEEDINGS OF THE 27TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, 2018, : 209 - 220
  • [3] Dynamic Flow Analysis for Java']JavaScript
    Naus, Nico
    Thiemann, Peter
    [J]. TRENDS IN FUNCTIONAL PROGRAMMING (TFP 2016), 2019, 10447 : 75 - 93
  • [4] An Efficient Mechanism of Generating Call Graph for Java']JavaScript using Dynamic Analysis in Web Application
    Toma, Tajkia Rahman
    Islam, Md Shariful
    [J]. 2014 INTERNATIONAL CONFERENCE ON INFORMATICS, ELECTRONICS & VISION (ICIEV), 2014,
  • [5] Bivariate Classification of Malware in Java']JavaScript using Dynamic Analysis
    Gupta, Yash
    Bansal, Divya
    Sofat, Sanjeev
    [J]. PROCEEDINGS OF THE 1ST INTERNATIONAL WORKSHOP ON CLOUD COMPUTING AND INFORMATION SECURITY (CCIS 2013), 2013, 52 : 178 - 182
  • [6] Access Control in Java']JavaScript
    Toledo, Rodolfo
    Tanter, Eric
    [J]. IEEE SOFTWARE, 2011, 28 (05) : 76 - 84
  • [7] An Analysis of the Dynamic Behavior of Java']JavaScript Programs
    Richards, Gregor
    Lebresne, Sylvain
    Burg, Brian
    Vitek, Jan
    [J]. ACM SIGPLAN NOTICES, 2010, 45 (06) : 1 - 12
  • [8] AUGUR: Dynamic Taint Analysis for Asynchronous Java']JavaScript
    Aldrich, Mark W.
    Turcotte, Alexi
    Blanco, Matthew
    Tip, Frank
    [J]. PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022, 2022,
  • [9] A Survey of Dynamic Analysis and Test Generation for Java']JavaScript
    Andreasen, Esben
    Gong, Liang
    Moller, Anders
    Pradel, Michael
    Selakovic, Marija
    Sen, Koushik
    Staicu, Cristian-Alexandru
    [J]. ACM COMPUTING SURVEYS, 2017, 50 (05)
  • [10] 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