Given the importance of encapsulation to object-orientedprogramming, it is surprising to note that mainstream object-oriented languages offer only limited and fixed ways of encapsulating methods. Typically one may on...
详细信息
Proxies are the swiss army knives of object adaptation. They introduce a level of indirection to intercept select operations on a target object and divert them as method calls to a handler. Proxies have many uses like...
详细信息
Despite the undisputed prominence of inheritance as the fundamental reuse mechanism in object-orientedprogramming languages, the main variants—single inheritance, multiple inheritance, and mixin inheritance—all suf...
详细信息
This paper presents a technique for verifying specifications which uses the object-oriented state-based language object-Z. The technique is based upon translation of object-Z specifications into transition systems. Th...
详细信息
ISBN:
(纸本)3540672613
This paper presents a technique for verifying specifications which uses the object-oriented state-based language object-Z. The technique is based upon translation of object-Z specifications into transition systems. The translation of object-Z into a transition system allows one to use established techniques and tools in order to verify the specifications. We present the basis of our translation approach and then illustrate it by a case study. The case study consists in proving properties of our antennae parameter setting problem specification.
We discuss a framework in which the traditional features of objects (encapsulation, communication, etc.) are enhanced with synchronization and coordination facilities, using the declarative power of rules. We propose ...
详细信息
The inheritance anomaly [23] refers to the serious difficulty in combining inheritance and concurrency in a simple and satisfactory way within a concurrent object-oriented language. The problem is closely connected wi...
详细信息
In recent years, multiple vulnerabilities exploiting the serialisation APIs of various programming languages, including Java, have been discovered. These vulnerabilities can be used to devise injection attacks, exploi...
详细信息
ISBN:
(纸本)9783959770354
In recent years, multiple vulnerabilities exploiting the serialisation APIs of various programming languages, including Java, have been discovered. These vulnerabilities can be used to devise injection attacks, exploiting the presence of dynamic programming language features like reflection or dynamic proxies. In this paper, we investigate a new type of serialisation-related vulnerabilities for Java that exploit the topology of object graphs constructed from classes of the standard library in a way that deserialisation leads to resource exhaustion, facilitating denial of service attacks. We analyse three such vulnerabilities that can be exploited to exhaust stack memory, heap memory and CPU time. We discuss the language and library design features that enable these vulnerabilities, and investigate whether these vulnerabilities can be ported to C#, Java- Script and Ruby. We present two case studies that demonstrate how the vulnerabilities can be used in attacks on two widely used servers, Jenkins deployed on Tomcat and JBoss. Finally, we propose a mitigation strategy based on contract injection.
In distributed environments, location control of objects among hosts is a crucial concern. This paper proposes a new mechanism of object location control using meta-level programming which provides the following advan...
详细信息
An adaptive program is an object-oriented program which is abstracted over the particular class structure. This abstraction fosters software reuse, because programmers can concentrate on specifying how to process the ...
详细信息
ISBN:
(纸本)354067263X
An adaptive program is an object-oriented program which is abstracted over the particular class structure. This abstraction fosters software reuse, because programmers can concentrate on specifying how to process the objects which are essential to their application. The compiler of an adaptive program takes care of actually locating the objects. The adaptive programmer merely writes a traversal specification decorated with actions. The compiler instantiates the specification with the actual class structure and generates code that traverses a collection of objects, performing visits and actions according to the specification. Earlier work on adaptive programming merely stated but never verified that compilation of adaptive programs is nothing but partial evaluation. We employ an algebraic framework based on derivatives of traversal specifications to develop an interpretive semantics of adaptive programming. This semantics is naturally staged in up to three stages. Compilation can be achieved using a standard partial evaluator. Slight changes in the binding-time properties yield several variants of the compiler, by trading compile-time computations for run-time computations.
The proceedings contain 22 papers. The special focus in this conference is on Foundations and Concepts. The topics include: Benefits, models, and mechanisms;protection in programming-language translations;reflective a...
ISBN:
(纸本)9783540661306
The proceedings contain 22 papers. The special focus in this conference is on Foundations and Concepts. The topics include: Benefits, models, and mechanisms;protection in programming-language translations;reflective authorization systems;abstractions for mobile computations;type-safe execution of mobile agents in anonymous networks;types as specifications of access policies;security properties of typed applets;the role of trust management in distributed systems security;distributed access-rights management with delegation certificates;a view-based access control model for CORBA;apoptosis — the programmed death of distributed services;a sanctuary for mobile agents;mutual protection of co-operating agents;access control in configurable systems;providing policy-neutral and transparent access control in extensible systems;transparently interposing user code at the system interface;a capability-based operating system for java;secure network objects;history-based access control for mobile code;security in active networks;using interfaces to specify access rights and introducing trusted third parties to the mobile agent paradigm.
暂无评论