Developers often release different versions of their applications to support various platform/programming-language application programming interfaces (APIs). To migrate an application written using one API (source) to...
详细信息
ISBN:
(纸本)9781467375290
Developers often release different versions of their applications to support various platform/programming-language application programming interfaces (APIs). To migrate an application written using one API (source) to another API (target), a developer must know how the methods in the source API map to the methods in the target API. Given a typical platform or language exposes a large number of API methods, manually writing API mappings is prohibitively resource-intensive and may be error prone. Recently, researchers proposed to automate the mapping process by mining API mappings from existing code-bases. However, these approaches require as input a manually ported (or at least functionally similar) code across source and target APIs. To address the shortcoming, this paper proposes TMAP: Text Mining based approach to discover likely API mappings using the similarity in the textual description of the source and target API documents. To evaluate our approach, we used TMAP to discover API mappings for 15 classes across: 1) java and C# API, and 2) java ME and Android API. We compared the discovered mappings with state-of-the-art source code analysis based approaches: Rosetta and StaMiner. Our results indicate that TMAP on average found relevant mappings for 57% more methods compared to previous approaches. Furthermore, our results also indicate that TMAP on average found exact mappings for 6.5 more methods per class with a maximum of 21 additional exact mappings for a single class as compared to previous approaches.
A coarse representation of pictures and images can be created with sound. A series of such audio sounds can be used to represent an animation or a motion picture. In this project, images are divided into a 4x4 array o...
详细信息
ISBN:
(纸本)9781479959228
A coarse representation of pictures and images can be created with sound. A series of such audio sounds can be used to represent an animation or a motion picture. In this project, images are divided into a 4x4 array of "sound elements". The position of each sound element is assigned an audio sound, and the contents of each sound element is used to compute an audio intensity. The audio for each sound element is the audio sound for its position played at the computed audio intensity. The result of combining the audios for all sound elements is an audio representing the entire image. Algorithms for creating sounds and intensities will be described. Generating sounds for motion pictures using this technique will be discussed.
One of the most challenging aspects to designing a java messaging system for HPC is the intermediate buffering layer. The lower and higher levels of the messaging software use this buffering layer to write and read me...
详细信息
ISBN:
(纸本)3540343814
One of the most challenging aspects to designing a java messaging system for HPC is the intermediate buffering layer. The lower and higher levels of the messaging software use this buffering layer to write and read messages. The java New I/O package adds the concept of direct buffers, which-coupled with a memory management algorithm-opens the possibility of efficiently implementing this buffering layer. In this paper, we present our buffering strategy, which is developed to support efficient communications and derived datatypes in MPJ Express-our implementation of the java MPI API. We evaluate the performance of our buffering layer and demonstrate the usefulness of direct byte buffers.
This paper describes the design of the development test environment for the Mission Data Processing and Control Subsystem (MPCS), code-named "Chill." MPCS Chill is currently in development to support the Mar...
详细信息
ISBN:
(纸本)9781424405244
This paper describes the design of the development test environment for the Mission Data Processing and Control Subsystem (MPCS), code-named "Chill." MPCS Chill is currently in development to support the Mars Science Laboratory (MSL), scheduled for launch in 2009. Chill is a Linux-based ground data system which includes both telemetry and command functions. The development test configuration consists of five levels: unit testing, end-to-end testing, user interface testing, external interface testing, and installation/deployment testing. This paper will focus primarily on the automation of the lowest two levels, unit and end-to-end testing.(12) MPCS Chill's continuous integration process is provided by its adaptation of CruiseControl, which is an open source framework for a continuous build process. CruiseControl is configured on the dedicated build machine, a Linux workstation, which is the target platform. Chill has configured CruiseControl into two project loops: the first fetches the latest version of software from a central repository, builds it, and performs unit tests (JUnit). The second loop runs scripted end-to-end tests, which are performed on the results of the first build. Results are reported via email notification and a web interface provides the details of the current and previous builds for each loop. The evolution of test definition is: requirements feed into design, design leads to use cases, and tests are derived from use cases, thus leading to the mapping of tests to requirements. Unit tests operate on internal components, while end-to-end tests operate at a higher level of abstraction and therefore can be traced to requirements. The evolutionary process ensures that we are testing to requirements. MPCS Chill presents a model for testing java-based distributed ground systems in a semi-automated manner. The MPCS model is highly applicable to other projects looking to automate their testing in addition to achieving continuous integration.
A software system is continuously changed so many times. When we try to change a software, we must understand how the soft-ware is implemented, especially about the functions to be modified. However such repeated chan...
详细信息
ISBN:
(纸本)0769523498
A software system is continuously changed so many times. When we try to change a software, we must understand how the soft-ware is implemented, especially about the functions to be modified. However such repeated changes may cause the bad situations that there is no document which reflects the changes and represents the behavior of the software correctly. So, it is important to develop a technique to extract the useful information to understand the behavior of the software from its own. We propose a method to extract compact sequence diagrams from dynamic information of object-oriented programs. Our method generates sequence diagrams by compacting a repetition included in the execution trace. This paper presents four compaction rules. The experiment illustrates how our rules effectively compact the execution trace and generate compact sequence diagrams.
Global networking has brought with it both new opportunities and new security threats on a worldwide scale. Since the Internet is inherently insecure, secure cryptographic protocols and a public key, infrastructure ar...
详细信息
ISBN:
(纸本)1880446928
Global networking has brought with it both new opportunities and new security threats on a worldwide scale. Since the Internet is inherently insecure, secure cryptographic protocols and a public key, infrastructure are needed. In this paper we introduce a protocol component architecture that is well suited for the implementation of telecommunications protocols in general and cryptographic protocols in particular Our implementation framework is based on the java programming language and the Conduits+ protocol framework. It complies with the Beans architecture and security API of JDK 1.1, allowing its users to implement application specific secure protocols with relative ease. Furthermore, these protocols can be safely downloaded through the Internet and run on virtually any workstation equipped with a java capable browser.* The framework has been implemented and tested in practice with a variety of cryptographic protocols. The framework is relatively, independent of the actual cryptosystems used and relies on the java 1.1 public key security API. Future work will include java 1.2 support, and utilization of a graphical Beans editor to further ease the work of the protocol composer.
Frameworks elevate encapsulation and reuse to the level of large-grained components, namely groups of collaborating classes. The abstract collaboration defined in a framework is easily customized by an application thr...
详细信息
ISBN:
(纸本)3540411720
Frameworks elevate encapsulation and reuse to the level of large-grained components, namely groups of collaborating classes. The abstract collaboration defined in a framework is easily customized by an application through static subclassing. However, this implies nonindependent development of the application and framework models and excludes the possibility of dynamically deploying the framework. We propose the dynamic composite adapter design pattern, which employs the use of java inner classes to achieve dynamic, modular, non-invasive, component adaptation. We also present a new scoping construct for succinctly defining dynamic adaptation of java components.
This paper presents a role model implementation, JAWIRO (java WIth ROles), which enhances java with role support. After a brief introduction to role models and the capabilities of JAWIRO, the paper proceeds to a compa...
详细信息
ISBN:
(纸本)3540344519
This paper presents a role model implementation, JAWIRO (java WIth ROles), which enhances java with role support. After a brief introduction to role models and the capabilities of JAWIRO, the paper proceeds to a comparison of our model with another role model and a design pattern for implementing roles. These three approaches are compared on the basis of their abilities and performances. It is shown that role models are valuable tools for modeling dynamic real world entities as they provide many useful abilities without a significant performance overhead. The dynamic nature of agents represents a good domain for using roles to describe both behavior and coordination issues. The paper ends with a sample application for agents that demonstrates how characteristics of roles may be employed.
This work highlights and takes aim at the most critical security aspects required for two different types of distributed systems for scientific computation. It covers two open-source systems written in java: a demand-...
详细信息
ISBN:
(纸本)9780769534725
This work highlights and takes aim at the most critical security aspects required for two different types of distributed systems for scientific computation. It covers two open-source systems written in java: a demand-driven system - General Intensional programming System (GIPSY) and a pipelined system - Distributed Modular Audio Recognition Framework (DMARF), which are the distributed scientific computational engines used as case studies with respect to the security aspects. More specific goals include data/demand integrity, data/demand origin authentication, confidentiality, high availability, and malicious code detection. We address some of the goals to a degree, some with the java Data Security Framework (JDSF) as a work-in-progress.
Since the conception of the java Modeling language (JML), many tools, applications and implementations have been done for its support. In this context, the users or developers who want to use JML seem surrounded by ma...
详细信息
ISBN:
(纸本)9781479942695
Since the conception of the java Modeling language (JML), many tools, applications and implementations have been done for its support. In this context, the users or developers who want to use JML seem surrounded by many of these tools, applications and so on. Looking for a common infrastructure and an independent language to provide a bridge between these tools and JML, it was developed an approach to embedded contracts in the eXtensible Markup language (XML) for java: XJML. XJML claims to offer you the ability to separate preconditions, posconditions and class invariants using JML and XML, and then execute Runtime Assertion Checking (RAC), Extended Static Checking (ESC) and/ or Full Static Program Verification (FSPV). In this work, we present some experiments and results with XJML and Runtime Assertion Checking, using one java class.
暂无评论