58,402 research outputs found
Recommended from our members
Software test automation : a design and tool selection approach for a heterogeneous environment
textThis report describes a design approach for implementing a software test automation solution that can accommodate existing test processes in an organization. The process of implementing a software test automation solution is a large undertaking and requires careful planning to avoid unsuccessful implementations. This report outlines a design that can integrate with existing business and development processes in an organization, and recommends automation and development frameworks for achieving the test automation goals.
Considerations for a heterogeneous test environment with varying types of supported operating systems, such as Windows and Linux, and multiple test execution environments, such as Java and .NET, have been made in this design and in the tool selections for the system implementation. The report also describes some of the challenges and caveats of automation in a heterogeneous environment along with recommended solutions to these challenges.Electrical and Computer Engineerin
Proxy compilation for Java via a code migration technique
There is an increasing trend that intermediate representations (IRs) are used to deliver programs in more and more languages, such as Java. Although Java can provide many advantages, including a wider portability and better optimisation opportunities on execution, it introduces extra overhead by requiring an IR translation for the program execution. For maximum execution performance, an optimising compiler is placed in the runtime to selectively optimise code regions regarded as “hotspots”. This common approach has been effectively deployed in many implementation of programming languages. However, the computational resources demanded by this approach made it less efficient, or even difficult to deploy directly in a resourceconstrained environment. One implementation approach is to use a remote compilation technique to support compilation during the execution. The work presented in this dissertation supports the thesis that execution performance can be improved by the use of efficient optimising compilation by using a proxy dynamic optimising compiler. After surveying various approaches to the design and implementation of remote compilation, a proxy compilation system called Apus is defined. To demonstrate the effectiveness of using a dynamic optimising compiler as a proxy compiler, a complete proxy compilation system is written based on a research-oriented Java VirtualMachine (JVM). The proxy compilation system is discussed in detail, showing how to deliver remote binaries and manage a cache of binaries by using a code migration approach. The proxy compilation client shows how the proxy compilation service is integrated with the selective optimisation system to maximise execution performance. The results of empirical measurements of the system are given, showing the efficiency of code optimisation from either the proxy compilation service and a local binary cache. The conclusion of this work is that Java execution performance can be improved by efficient optimising compilation with a proxy compilation service by using a code migration technique
An instrumentation tool for threaded Java application servers
Rapid development of e-business services has extended the use of application servers on companies. The Java platform has an important presence on this sector because of its portability and development facilities. Java application servers are becoming a key component in these environments, thus the knowledge of these servers behavior requires the use of new tools to overcome the limitations of existing ones in both offered information and semantics of execution. The natural environment for e-business applications is composed by medium-range parallel servers executing Java based threaded
applications. So, understanding threaded Java application servers on parallel environments is the main target of our tool: JIS (Java Instrumentation Suite). This paper describes the design and implementation of JIS and highlights some of the main functionalities. Our initial implementation targets the JVM version 1.3 running
Jakarta Tomcat v4.0 on top of a Linux parallel platform with a 2.4.16 kernel.Peer ReviewedPostprint (published version
Environment for the simulation of different ACP and error recovery in Distributed Data Bases
This paper presents an evolution of a simulation environment where situations in which a DDB should maintain data integrity are modeled and implemented. These situations include failures taking place during transactions, and the focus is mainly on the utilization and later comparison of different atomic commit protocols (ACP). The implementation was made on Java due to different aspects such as ease of work, portability, etc. The environment is mainly based on failure recovery of transactions in a distributed data environment, and it allows to choose for the simulation development between two-phase, three-phase, optimistic and pessimistic protocols. The task scheduler defined and implemented to carry out each simulation, based on an execution design establishing each specific problem to be solved, is also specified.Facultad de Informátic
An Architecture for a Mobile and Dynamically Extensible Distributed DBMS
This report proposes an architectural framework for the design and implementation of a Distributed Database Management System which integrates Java and the Java Runtime Environment with the static set of operations found in a traditional database execution engine. With such a system, we intend to study the benefits of mobility of DBMS code (functionality shipping). This functionality shipping occurs at several levels, namely the query (i.e. predicates), executor (i.e. join operator) and access methods (i.e. index scan) levels
Extending snBench to Support Hierarchical and Configurable Scheduling
It is useful in systems that must support multiple applications with various temporal requirements to allow application-specific policies to manage resources accordingly. However, there is a tension between this goal and the desire to control and police possibly malicious programs. The Java-based Sensor Execution Environment (SXE) in snBench presents a situation where such considerations add value to the system. Multiple applications can be run by multiple users with varied temporal requirements, some Real-Time and others best effort. This paper outlines and documents an implementation of a hierarchical and configurable scheduling system with which different applications can be executed using application-specific scheduling policies. Concurrently the system administrator can define fairness policies between applications that are imposed upon the system. Additionally, to ensure forward progress of system execution in the face of malicious or malformed user programs, an infrastructure for execution using multiple threads is described
A Compiler and Runtime Infrastructure for Automatic Program Distribution
This paper presents the design and the implementation of a compiler and runtime infrastructure for automatic program distribution. We are building a research infrastructure that enables experimentation with various program partitioning and mapping strategies and the study of automatic distribution's effect on resource consumption (e.g., CPU, memory, communication). Since many optimization techniques are faced with conflicting optimization targets (e.g., memory and communication), we believe that it is important to be able to study their interaction.
We present a set of techniques that enable flexible resource modeling and program distribution. These are: dependence analysis, weighted graph partitioning, code and communication generation, and profiling. We have developed these ideas in the context of the Java language. We present in detail the design and implementation of each of the techniques as part of our compiler and runtime infrastructure. Then, we evaluate our design and present preliminary experimental data for each component, as well as for the entire system
- …