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
相关论文
共 42 条
  • [1] ANTIMIROV AND MOSSES'S REWRITE SYSTEM REVISITED
    Almeida, Marco
    Moreira, Nelma
    Reis, Rogerio
    [J]. INTERNATIONAL JOURNAL OF FOUNDATIONS OF COMPUTER SCIENCE, 2009, 20 (04) : 669 - 684
  • [2] [Anonymous], 2013, TECHNICAL REPORT
  • [3] [Anonymous], 2008, Technical Report
  • [4] Antimirov V., 1995, STACS 95. 12th Annual Symposium on Theoretical Aspects of Computer Science. Proceedings, P455
  • [5] Antimirov V. M., 1993, DEV LANGAUGE THEORY, P195
  • [6] ANTIMIROV VM, 1995, LECT NOTES COMPUT SC, V965, P116
  • [7] Virtual Values for Language Extension
    Austin, Thomas H.
    Disney, Tim
    Flanagan, Cormac
    [J]. ACM SIGPLAN NOTICES, 2011, 46 (10) : 921 - 937
  • [8] A Type and Effect System for Deterministic Parallel Java']Java
    Bocchino, Robert L., Jr.
    Adve, Vikram S.
    Dig, Danny
    Adve, Sarita V.
    Heumann, Stephen
    Komuravelli, Rakesh
    Overbey, Jeffrey
    Simmons, Patrick
    Sung, Hyojin
    Vakilian, Mohsen
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (10) : 97 - 116
  • [9] Checking NFA Equivalence with Bisimulations up to Congruence
    Bonchi, Filippo
    Pous, Damien
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (01) : 457 - 468
  • [10] Mirrors: Design principles for meta-level facilities of object-oriented programming languages
    Bracha, G
    Ungar, D
    [J]. ACM SIGPLAN NOTICES, 2004, 39 (10) : 331 - 344