Filters








36,431 Hits in 4.6 sec

Controlling Object Allocation Using Creation Guards [chapter]

Cees Pierik, Dave Clarke, Frank S. de Boer
2005 Lecture Notes in Computer Science  
This paper introduces creation guards to obtain a sound and modular methodology that supports such invariants.  ...  The invariants that describe properties of shared objects are difficult to maintain because they can be falsifiable by object allocation.  ...  Future work includes a study of the use of creation guards in a concurrent setting.  ... 
doi:10.1007/11526841_6 fatcat:lbgcifz6crcvdc4e5ndkyiiz64

Some experimental results in implementing a logic language with multi-head clauses on a Transputer architecture [chapter]

Anna Ciampolini, Evelina Lamma, Paola Mello, Cesare Stefanelli
1994 Lecture Notes in Computer Science  
These allocation policies correspond to forms of inter-and intra-object parallelism when objects with state are implemented as ROSE programs.  ...  We focus on the distributed implementation of an extended logic language (called ROSE) based on multi-head clauses which can be useful to implement parallel logic objects where state change is performed  ...  We thanks Antonio Brogi for the useful discussions about the ' ROSE language.  ... 
doi:10.1007/3-540-58025-5_50 fatcat:gagjwxlojrahxhdsgoxl7mdeie

JAC: declarative Java concurrency

Max Haustein, Klaus-Peter Löhr
2006 Concurrency and Computation  
NET [12], and Synchronous Active Objects [13] . Elaborate concurrency control for Java is featured by the Atomic Blocks technique [14] .  ...  As the precondition is closely related to one of JAC's features, the guard, JAC introduces the notion of a precondition as well. The JAC system has been in use since March 2003.  ...  Controlling object creation The control annotation is written /** @controlled */ It is used to annotate statements containing object creation expressions ‡ , as in /** @controlled */ Map map = new LinkedMap  ... 
doi:10.1002/cpe.956 fatcat:qfoxs53lbvbf5iypbbjepwonbu

Adoption and focus

Manuel Fahndrich, Robert DeLine
2002 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation - PLDI '02  
A programmer can alias data structures that point to linear objects and use focus for safe access to those objects. We discuss how we implemented these ideas in the Vault programming language.  ...  A type system with linearity is useful for checking software protocols and resource management at compile time.  ...  This model is intuitive, since at object creation, there cannot be aliases for the object.  ... 
doi:10.1145/512529.512532 dblp:conf/pldi/FahndrichD02 fatcat:y4sthqcfmbg2pjbb2osnro22wm

The efficient handling of guards in the design of RPython's tracing JIT

David Schneider, Carl Friedrich Bolz
2012 Proceedings of the sixth ACM workshop on Virtual machines and intermediate languages - VMIL '12  
In this paper, we perform an empirical analysis of runtime properties of guards. This is used to guide the design of guards in the RPython tracing JIT.  ...  Tracing just-in-time (JIT) compilers record linear control flow paths, inserting operations called guards at points of possible divergence.  ...  After allocation removal the variables in the symbolic frames can also contain "virtual" objects. These are objects that were not allocated so far, because the optimizer removed their allocation.  ... 
doi:10.1145/2414740.2414743 fatcat:6k3zzrljmzby5os6vljhjrsywe

Heap space analysis for java bytecode

Elvira Albert, Samir Genaim, Miguel Gomez-Zamalloa
2007 Proceedings of the 6th international symposium on Memory management - ISMM '07  
These relations can be used to obtain upper bounds on the heap space allocated during the execution of the different methods.  ...  These refined cost relations are then used to infer upper bounds on the active heap space upon methods return.  ...  It counts the heap space allocated for the creation of an object of type Results, namely S ref ; the space allocated by its constructor, namely 25 * S ref ; and the space allocated when executing the loop  ... 
doi:10.1145/1296907.1296922 dblp:conf/iwmm/AlbertGG07 fatcat:ysdrhlleavaytlri7t6qi7mmgm

Allocation removal by partial evaluation in a tracing JIT

Carl Friedrich Bolz, Antonio Cuni, Maciej FijaBkowski, Michael Leuschel, Samuele Pedroni, Armin Rigo
2011 Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation - PERM '11  
In this paper we present a simple compiler optimization based on online partial evaluation to remove object allocations and runtime type checks in the context of a tracing JIT.  ...  We evaluate the optimization using a Python VM and find that it gives good results for all our (real-life) benchmarks. 1  ...  in between the creation of the object and the point where it escapes that involve the object are removed.  ... 
doi:10.1145/1929501.1929508 dblp:conf/pepm/BolzCFLPR11 fatcat:xd4a4q6lvvg3pjj34crrymbktu

A sequential abstract machine for flat concurrent prolog

Avshalom Houri, Ehud Shapiro
1989 The Journal of Logic Programming  
where H is the head of the clause, each Gi is a system-defined test called a guard, and each B, is a general body goal. An FCP program is a finite set of clauses.  ...  BOOTSTRAP AND CONTROL FLOW OF THE MACHINE Integer-Value unify-car-real Real-Value unify_car_str Address unify_car_nil unify_car_list X, unify_car_tpl Xi, Arity ABSTRACT MACHINE FOR FCP 119  ...  Argument Creation. An argument creation in the guard or in the body of the clause cannot be executed in read mode.  ... 
doi:10.1016/0743-1066(89)90011-3 fatcat:gtdydjcuu5ckjaiw3ptgxeh72i

Adoption and focus

Manuel Fahndrich, Robert DeLine
2002 SIGPLAN notices  
A programmer can alias data structures that point to linear objects and use focus for safe access to those objects. We discuss how we implemented these ideas in the Vault programming language.  ...  A type system with linearity is useful for checking software protocols and resource management at compile time.  ...  This model is intuitive, since at object creation, there cannot be aliases for the object.  ... 
doi:10.1145/543552.512532 fatcat:5cd65kcbwzg6bnzuwkhloacylq

Light-weight bounds checking

Niranjan Hasabnis, Ashish Misra, R. Sekar
2012 Proceedings of the Tenth International Symposium on Code Generation and Optimization - CHO '12  
These efforts have yielded many practical tools that enjoy widespread use during software testing.  ...  This is accomplished as follows: -Stack objects: To control the lay out of stack allocated objects, our transformation creates a single struct that includes all of the unsafe local variables.  ...  Note that except for stack-allocated objects, a guard zone is associated with exactly one object.  ... 
doi:10.1145/2259016.2259034 dblp:conf/cgo/HasabnisMS12 fatcat:kifvp4httbhufatinfkqdbjy3i

SoK: Sanitizing for Security [article]

Dokyung Song, Julian Lettner, Prabhu Rajasekaran, Yeoul Na, Stijn Volckaert, Per Larsen, Michael Franz
2018 arXiv   pre-print
Guard Pages: Location-based access checkers can insert inaccessible guard pages before and/or after every allocated memory object [30] , [31] .  ...  Undangle uses taint tracking [59] - [61] to track pointer creations, and to maintain an object-to-pointer map [53] .  ...  Similarly, since DangSan uses tcmalloc as the default memory allocator, we enabled tcmalloc for the baseline binaries too.  ... 
arXiv:1806.04355v1 fatcat:a4z3tqmxlvakvp4ljxzuursbsu

Design and Implementation of Coordination Protocols for Distributed Cooperating Objects — A General Graph-Based Technique Applied to Corba [chapter]

Khalil Drira, Frédéric Gouëzec, Michel Diaz
1999 Formal Methods for Open Object-Based Distributed Systems  
Application of a rule leads to the deletion and creation (at each site) of cooperating objects associated respectively with the nodes being removed from or inserted into the graph.  ...  The transformation rules are also used to control the cooperative activity supported by the application, i.e. for example, managing user access to the shared cooperation information.  ...  A guard may also be used in a rule to describe boolean conditions on the variables appearing in the graph.  ... 
doi:10.1007/978-0-387-35562-7_8 fatcat:ri6qensq7jathbe5zcjch6qzbi

SPUR

Michael Bebenita, Florian Brandner, Manuel Fahndrich, Francesco Logozzo, Wolfram Schulte, Nikolai Tillmann, Herman Venter
2010 SIGPLAN notices  
to restore the initial state of the object as if it were re-allocated.  ...  When running optimized trace code, execution remains on-trace as long as all guards hold. (Guards arise from conditional control flow decisions that were recorded earlier during tracing.)  ... 
doi:10.1145/1932682.1869517 fatcat:hmdyygl23bb3vl4lcqtgfhapgm

SPUR

Michael Bebenita, Florian Brandner, Manuel Fahndrich, Francesco Logozzo, Wolfram Schulte, Nikolai Tillmann, Herman Venter
2010 Proceedings of the ACM international conference on Object oriented programming systems languages and applications - OOPSLA '10  
to restore the initial state of the object as if it were re-allocated.  ...  When running optimized trace code, execution remains on-trace as long as all guards hold. (Guards arise from conditional control flow decisions that were recorded earlier during tracing.)  ... 
doi:10.1145/1869459.1869517 dblp:conf/oopsla/BebenitaBFLSTV10 fatcat:y6ka3szwmjealaiol6q6xbzfqq

KQguard: Binary-Centric Defense against Kernel Queue Injection Attacks [chapter]

Jinpeng Wei, Feng Zhu, Calton Pu
2013 Lecture Notes in Computer Science  
KQguard uses static and dynamic analysis of kernel and device drivers to learn the legitimate event handlers. At runtime, KQguard rejects all the unknown KQ requests that cannot be validated.  ...  We also thank the anonymous reviewers for their useful comments. This research is supported by Centre for Strategic Infocomm Technologies (CSIT), Singapore.  ...  function and the requester can call a function at the top of the call chain to allocate a heap object).  ... 
doi:10.1007/978-3-642-40203-6_42 fatcat:hpcc5ra7hjdhpldm5v7q7mjh54
« Previous Showing results 1 — 15 out of 36,431 results