Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as java bytecode instrumentation. Unfortunately, with existing AOP frameworks for java such as AspectJ, asp...
详细信息
Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as java bytecode instrumentation. Unfortunately, with existing AOP frameworks for java such as AspectJ, aspects cannot be woven into the standard java class library. this restriction is particularly unfortunate for aspects that would benefit from comprehensive aspect weaving with complete method coverage, such as profiling or debugging aspects. In this article we present MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all classes loaded in a java Virtual Machine, including those in the standard java class library. MAJOR includes the pluggable module CARAJillo, which supports efficient access to a complete and customizable calling context representation. We validate our approach withthree case studies. Firstly, we weave existing profiling aspects with MAJOR which otherwise would generate incomplete profiles. Secondly, we introduce an aspect for memory leak detection that also benefits from comprehensive weaving. thirdly, we present an aspect subsuming the functionality of ReCrash, an existing tool based on low-level bytecode instrumentation techniques that generates unit tests to reproduce program failures. Our aspect-based tools are concisely implemented in a few lines of code, and leverage MAJOR and CARAJillo for comprehensive aspect weaving and for efficient access to calling context information. (C) 2010 Elsevier B.V. All rights reserved.
the era of multicore processors, capable of running multiple tasks concurrently, has arrived. Sadly, most existing software and even new applications being developed are not ready to take advantage of these new multip...
详细信息
the era of multicore processors, capable of running multiple tasks concurrently, has arrived. Sadly, most existing software and even new applications being developed are not ready to take advantage of these new multiprocessing capabilities, and, thus, more processing cores do not translate into better performance when executing these applications. To tackle this problem, we envision the creation of a runtime environment that is able to parallelize automatically existing sequential applications without requiring any manual modification to those applications. To achieve this goal, we are exploring thread-level speculation supported by a Software Transactional Memory (STM), rather than relying on hardware-based mechanisms. In this paper, we present our work in the RuLAM project, which targets speculative parallelization on the java platform.
Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as java bytecode instrumentation. Unfortunately, with existing AOP frameworks for java such as AspectJ, asp...
详细信息
Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as java bytecode instrumentation. Unfortunately, with existing AOP frameworks for java such as AspectJ, aspects cannot be woven into the standard java class library. this restriction is particularly unfortunate for aspects that would benefit from comprehensive aspect weaving with complete method coverage, such as profiling or debugging aspects. In this article we present MAJOR, a new tool for comprehensive aspect weaving, which ensures that aspects are woven into all classes loaded in a java Virtual Machine, including those in the standard java class library. MAJOR includes the pluggable module CARAJillo, which supports efficient access to a complete and customizable calling context representation. We validate our approach withthree case studies. Firstly, we weave existing profiling aspects with MAJOR which otherwise would generate incomplete profiles. Secondly, we introduce an aspect for memory leak detection that also benefits from comprehensive weaving. thirdly, we present an aspect subsuming the functionality of ReCrash, an existing tool based on low-level bytecode instrumentation techniques that generates unit tests to reproduce program failures. Our aspect-based tools are concisely implemented in a few lines of code, and leverage MAJOR and CARAJillo for comprehensive aspect weaving and for efficient access to calling context information. (C) 2010 Elsevier B.V. All rights reserved.
the java JDK security model provides an access control mechanism for the JVM based on dynamic stack inspection. Previous results have shown how stack inspection can be enforced at compile time via whole-program type a...
详细信息
We propose a framework to construct web-oriented user interfaces in a high-level way by exploiting declarative programming techniques. Such user interfaces are intended to manipulate complex data in a type-safe way, i...
详细信息
the java language and runtime environment has had a profound worldwide impact on computer software since its introduction nearly two decades ago. It has enabled the creation of a rich ecosystem of libraries, framework...
详细信息
ISBN:
(纸本)9781450309356
the java language and runtime environment has had a profound worldwide impact on computer software since its introduction nearly two decades ago. It has enabled the creation of a rich ecosystem of libraries, frameworks, and tools that promises to deliver significant value for many years to come. Consequently, a wide range of Interactive Development Environments (IDEs) have emerged to increase the productivity of java programmers. they vary in functionality based on the expertise level assumed for their target user base. the Eclipse java Development Tools (JDT) project offers a rich set of power tools for experienced programmers, but can be harder for novice programmers to set up and use. In contrast, IDEs such as Drjava [2] and BlueJ [16] have been developed primarily for use in introductory programming courses.
In aspect-oriented programming (AOP) languages, advice evaluation is usually considered as part of the base program evaluation. this is also the case for certain pointcuts, such as if pointcuts in AspectJ, or simply a...
详细信息
暂无评论