Filters








431 Hits in 4.5 sec

A Caller-Side Inline Reference Monitor for an Object-Oriented Intermediate Language [chapter]

Dries Vanoverberghe, Frank Piessens
2008 Lecture Notes in Computer Science  
Ensuring complete mediation -the guarantee that every security-relevant event is actually intercepted by the monitor -is non-trivial when the program rewriter operates on an object-oriented intermediate  ...  This paper proposes a caller-side rewriting algorithm for MSIL -the bytecode of the .NET virtual machine -where security checks are inserted around calls to security-relevant methods.  ...  Ensuring complete mediation is nontrivial when the program rewriter operates on an object-oriented intermediate language with state-of-the-art features such as virtual methods and delegates.  ... 
doi:10.1007/978-3-540-68863-1_15 fatcat:ozm3b5xq6jdtnfkxybkvu3x65m

Policy ignorant caller-side inline reference monitoring

Dries Vanoverberghe, Frank Piessens
2014 International Journal on Software Tools for Technology Transfer (STTT)  
Ensuring complete mediation -the guarantee that every security-relevant event is actually intercepted by the monitor -is non-trivial when the program rewriter operates on an object-oriented intermediate  ...  This paper proposes a caller-side rewriting algorithm for MSIL -the bytecode of the .NET virtual machinewhere security checks are inserted around calls to security-relevant methods.  ...  Ensuring complete mediation is non-trivial when the program rewriter operates on an object-oriented intermediate language with state-of-the-art features such as virtual methods and delegates.  ... 
doi:10.1007/s10009-014-0348-8 fatcat:v2uzohhdmzhmnafnvgd5qmzlne

Design and implementation of assertions for the common language infrastructure

N. Tran, C. Mingins, D. Abramson
2003 IEE Proceedings - Software  
The ECMA Common Language Infrastructure (CLI) provides a shared dynamic execution environment for implementation and interoperation of multiple languages.  ...  The authors extend the CLI with support for assertions, in the Design by Contract style, in a language-agnostic manner.  ...  DbC-like support has also been added to other object oriented programming languages, such as Java [7 -14] and Cþþ [15] and the OCL modelling language [16] .  ... 
doi:10.1049/ip-sen:20030988 fatcat:2yf26xuzkvdvvjllhwpefxwoba

Optimizing dynamically-dispatched calls with run-time type feedback

Urs Hölzle, David Ungar
1994 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation - PLDI '94  
Object-oriented programs are difficult to optimize because they execute many dynamically-dispatched calls.  ...  We believe that type feedback could significantly reduce call frequencies and improve performance for most other objectoriented languages (statically-typed or not) as well as for languages with type-dependent  ...  Acknowledgments: We are very grateful to Bob Cmelik for making it possible to run SELF under Shade, to Mark D. Hill for Dinero, and to Gordon Irlam for Spanner.  ... 
doi:10.1145/178243.178478 dblp:conf/pldi/HolzleU94 fatcat:lgicykckarawbhlvtsa54s2oia

Optimizing dynamically-dispatched calls with run-time type feedback

Urs Hölzle, David Ungar
1994 SIGPLAN notices  
Object-oriented programs are difficult to optimize because they execute many dynamically-dispatched calls.  ...  We believe that type feedback could significantly reduce call frequencies and improve performance for most other objectoriented languages (statically-typed or not) as well as for languages with type-dependent  ...  Acknowledgments: We are very grateful to Bob Cmelik for making it possible to run SELF under Shade, to Mark D. Hill for Dinero, and to Gordon Irlam for Spanner.  ... 
doi:10.1145/773473.178478 fatcat:h6ava7d6frfg3lqdqjl4fizpna

Practicing JUDO

Michał Cierniak, Guei-Yuan Lueh, James M. Stichnoth
2000 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation - PLDI '00  
A high-performance implementation of a Java 1 Virtual Machine (JVM) consists of efficient implementation of Just-In-Time (JIT) compilation, exception handling, synchronization mechanism, and garbage collection  ...  We also thank Perry Wang, Yong-Fong Lee, Rick Hudson, Jesse Fang, Tatiana Shpeisman, and Aart Bik for their insightful comments on the paper.  ...  Figure 5 depicts the object layout used in most implementations of object-oriented languages, e.g., C++ and Java. x is a reference pointing to an object.  ... 
doi:10.1145/349299.349306 dblp:conf/pldi/CierniakLS00 fatcat:ubexpns3gbbldkpnrtxd3edlza

Stack allocation of objects in the CACAO virtual machine

Peter Molnar, Andreas Krall, Florian Brandner
2009 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java - PPPJ '09  
The analysis proceeds in two stages: an intraprocedural analysis computes escape information for each allocation site within a single method and builds call-context agnostic summary information for the  ...  For the SPEC benchmarks up to 90% of all objects allocated at runtime can be allocated on the call stack, leading to a speed up of up to 69%.  ...  Escape analysis in object oriented languages studies the lifetime of objects, more precisely whether the lifetime of an object is bounded by the lifetime of its creating site, be it the creating method  ... 
doi:10.1145/1596655.1596680 dblp:conf/pppj/MolnarKB09 fatcat:gxnypimkpvg47mdbsr6zuursli

Practicing JUDO

Michał Cierniak, Guei-Yuan Lueh, James M. Stichnoth
2000 SIGPLAN notices  
A high-performance implementation of a Java 1 Virtual Machine (JVM) consists of efficient implementation of Just-In-Time (JIT) compilation, exception handling, synchronization mechanism, and garbage collection  ...  We also thank Perry Wang, Yong-Fong Lee, Rick Hudson, Jesse Fang, Tatiana Shpeisman, and Aart Bik for their insightful comments on the paper.  ...  Figure 5 depicts the object layout used in most implementations of object-oriented languages, e.g., C++ and Java. x is a reference pointing to an object.  ... 
doi:10.1145/358438.349306 fatcat:ugrsdudpf5bl7mhh7fnb5v6yti

Escape analysis for object-oriented languages

Bruno Blanchet
1999 SIGPLAN notices  
Escape analysis [27, 14, 5] is a static analysis that determines whether the lifetime of data exceeds its static scope.  ...  Acknowledgements Many thanks to Alain Deutsch for his help during this work, to Patrick Cousot for helpful comments on a draft of this paper and to the Java team of the Silicomp Research Institute for  ...  INTRODUCTION Object-oriented languages such as C++ and Java often use a garbage collector (GC) to make memory management easier for the programmer.  ... 
doi:10.1145/320385.320387 fatcat:fo3yom6m7jhbxgqz4mkisducte

A principled approach to nondeferred reference-counting garbage collection

Pramod G. Joisha
2008 Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments - VEE '08  
This paper revisits this collection method and describes how to implement it for a modern object-oriented language in an optimizing compiler.  ...  The main contribution is a general algorithm that realizes one form of nondeferred RC collection for an object-oriented language having features such as exceptions, interior pointers, and object pinning  ...  Modern object-oriented language features, such as object pinning, interior pointers and exceptions, are accounted for in the transformation.  ... 
doi:10.1145/1346256.1346275 dblp:conf/vee/Joisha08 fatcat:jvvdmak6urf5jgu357zzsdr47u

Towards a Fully Abstract Compiler Using Micro-Policies: Secure Compilation for Mutually Distrustful Components [article]

Yannis Juglaret, Catalin Hritcu, Arthur Azevedo de Amorim, Benjamin C. Pierce, Antal Spector-Zabusky, Andrew Tolmach
2015 arXiv   pre-print
Our monitor protects the abstractions of a simple object-oriented language---class isolation, the method call discipline, and type safety---against arbitrary low-level attackers.  ...  The monitor is implemented using a recently proposed, generic tag-based protection framework called micro-policies, which comes with hardware support for efficient caching and with a formal verification  ...  Intermediate Level: An Object-Oriented Stack Machine Our intermediate machine is an object-oriented stack machine with one local stack per class.  ... 
arXiv:1510.00697v1 fatcat:pdzanfz66faohjbpnl2wcv3y7e

Inlining java native calls at runtime

Levon Stepanian, Angela Demke Brown, Allan Kielstra, Gita Koblents, Kevin Stoodley
2005 Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments - VEE '05  
We introduce a strategy for inlining native functions into Java TM applications using a JIT compiler.  ...  We perform further optimizations to transform inlined callbacks into semantically equivalent lightweight operations.  ...  ACKNOWLEDGMENTS This research is supported by grants from the IBM Centre for Advanced Studies, CITO, and NSERC.  ... 
doi:10.1145/1064979.1064997 dblp:conf/vee/StepanianBKKS05 fatcat:n347qkzdurcsdhv3f3cddpajwu

Load Elimination in the Presence of Side Effects, Concurrency and Precise Exceptions [chapter]

Christoph von Praun, Florian Schneider, Thomas R. Gross
2004 Lecture Notes in Computer Science  
Unlike previous approaches, our system determines accurate information about side effects and concurrency through a whole-program analysis.  ...  that is guided by a (weak) memory model (avg. dynamic reduction of loads 30.1%, max. 70.3%).  ...  Acknowledgments We thank Matteo Corti for his contributions to our compiler infrastructure and the anonymous referees for their useful comments.  ... 
doi:10.1007/978-3-540-24644-2_25 fatcat:uv7fwvudczcm3jplsoplxcovri

Adapting virtual machine techniques for seamless aspect support

Christoph Bockisch, Matthew Arnold, Tom Dinkelaker, Mira Mezini
2006 Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications - OOPSLA '06  
We also provide a detailed comparison of alternative implementations of execution environments with support for dynamic aspect deployment.  ...  Current approaches to compiling aspect-oriented programs are inefficient.  ...  As such, it is natural to design and implement VMs dedicated to aspect-oriented languages just as dedicated VMs for object-oriented languages exist.  ... 
doi:10.1145/1167473.1167483 dblp:conf/oopsla/BockischADM06 fatcat:zc6eiwbmpvcjxkotpireqfciua

Fast native function calls for the Babel language interoperability framework

Dietmar Ebner, Thomas G. W. Epperly
2010 2010 11th IEEE/ACM International Conference on Grid Computing  
In particular, our optimization is applicable if caller and callee are implemented in the same language. We implement and evaluate these techniques for C++ and Python.  ...  Babel is an open-source language interoperability framework tailored to the needs of high-performance scientific computing.  ...  As for C++, a reference to an object of the user-supplied implementation class is maintained in the data pointer, cf. Figure 3 .  ... 
doi:10.1109/grid.2010.5698006 dblp:conf/grid/EbnerE10 fatcat:capcf6mi35hijafdfryap6nesy
« Previous Showing results 1 — 15 out of 431 results