Crisp is an Eclipse plug-in tool for constructing intermediate versions of a java program that is being edited. After a long editing session, a programmer will run regression tests to make sure she has not invalidated...
详细信息
ISBN:
(纸本)9780769528281
Crisp is an Eclipse plug-in tool for constructing intermediate versions of a java program that is being edited. After a long editing session, a programmer will run regression tests to make sure she has not invalidated previously tested functionality. If a test fails unexpectedly, Crisp allows the programmer to select parts Of the edit that affected the failing test and to add them to the original program, creating an intermediate version guaranteed to compile. Then the programmer can re-execute the test in order to locate the exact reasons for the failure by concentrating on those affecting changes that were applied. Using Crisp, a programmer can iteratively select, apply, and undo individual (or sets of) affecting changes and, thus effectively find a small set of failure-inducing changes. Crisp is an extension to our change impact analysis tool, Chianti, [6].
With the increasingly visible maturing of open-source especially in the java space, the development environment for a typical java EE Application Development project can now largely (if not fully) be composed out of f...
详细信息
ISBN:
(纸本)9781424412969
With the increasingly visible maturing of open-source especially in the java space, the development environment for a typical java EE Application Development project can now largely (if not fully) be composed out of free and open source components that are proven and stable. The primary objective of this paper is to identify suitable tools from the open -source landscape and then validate and prove their integration within a real-life Application Development scenario. Going beyond merely architecture implementation, we focus on validating non-functional requirements such as code quality and most importantly: performance - using highly capable open source tools. Code quality is an important dimension of Architecture that influences the maintainability of code. And everyone is familiar with the Architectural concern of performance - and the dire consequences that can result if the application performs poorly or fails to scale up. Some of the goals of this exercise are the following: Reduce cost as far as possible without sacrificing capability Maximize productivity by picking the right tools for the development life cycle. Ensure that the tools selected integrate well with each other across the development life cycle Demonstrate real-life usage, with actual code-samples and configuration Provide a documented model and a reference implementation that can be easily replicated Enable more consistency across Application Development projects, making it easier for developers to transition to new projects utomate as much of the development process as far as possible. Reduce the barriers for java EE development projects to perform architecture validation by enabling teams to use zero-cost yet capable tools for code review, functional testing and performance testing.
We present SOLj (Secure Operations language-java), an event-driven domain-specific synchronous programming extension of java for developing secure service-based systems. The language has capabilities for handling serv...
详细信息
ISBN:
(纸本)9780769528106
We present SOLj (Secure Operations language-java), an event-driven domain-specific synchronous programming extension of java for developing secure service-based systems. The language has capabilities for handling service invocations asynchronously, includes strong typing for the enforcement of information flow and security policies, and exception handling mechanisms to deal with failures of components or services (both benign and Byzantine). Applications written in SOLj are formally verifiable using static analysis techniques. SOLj programs may be deployed, configured, and run on SINS (Secure Infrastructure for Networked Systems) under development at the Naval Research Laboratory.
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.
We introduce Cibai a generic static analyzer based on abstract interpretation for the modular analysis and verification of java classes. We present the abstract semantics and the underlying abstract domain, a combinat...
详细信息
ISBN:
(纸本)9783540697350
We introduce Cibai a generic static analyzer based on abstract interpretation for the modular analysis and verification of java classes. We present the abstract semantics and the underlying abstract domain, a combination of an aliasing analysis and octagons. We discuss some implementation issues, and we compare Cibai with similar tools, showing how Cibai achieves a higher level of automation and precision while having comparable performances.
Priority in version and priority inheritance protocols for bounding blocking time are well-understood topics in real-time systems research. The two most commonly used priority, inheritance protocols are basic priority...
详细信息
ISBN:
(纸本)9780769527659
Priority in version and priority inheritance protocols for bounding blocking time are well-understood topics in real-time systems research. The two most commonly used priority, inheritance protocols are basic priority inheritance and priority ceiling emulation. Although both are supported in POSIX Ada and the Real-Time Specification for java (RTSJ), little has been written about the consequences of using both protocols concurrently in the same program. The assumption is usually that only one is in force at any particular time. For large real-time systems, this assumption may not be valid. This paper provides motivation for why a mixture of the two can occur and illustrates that this can result in the raising of unwanted asynchronous exception. This has led the Technical Interpretation Committee for the RTSJ to propose a new version of the priority ceiling emulation protocol that will enable it to work in harmony with basic priority inheritance. The protocol is described and we use the UPPAAL tool to explore formal properties using model checking.
This paper aims at studying two java high performance environments in order to implement parallel iterative methods on Grid infrastructures. We exhibit the important features offered by MPJ Express and Jace V2 to tack...
详细信息
ISBN:
(纸本)9783540768364
This paper aims at studying two java high performance environments in order to implement parallel iterative methods on Grid infrastructures. We exhibit the important features offered by MPJ Express and Jace V2 to tackle the different issues linked to parallel iterative algorithms. Our study relies on the implementation of a typical iterative application: the multi-splitting method on a large scale grid platform.
This paper describes the able) extensible language framework, a tool that allows one to create new domain-adapted languages by importing domain-specific language extensions into an extensible implementation of java 1....
详细信息
ISBN:
(纸本)9783540735885
This paper describes the able) extensible language framework, a tool that allows one to create new domain-adapted languages by importing domain-specific language extensions into an extensible implementation of java 1.4. language extensions may define the syntax, semantic analysis, and optimizations of new language constructs. java and the language extensions are specified as higher-order attribute grammars. We describe several language extensions and their implementation in the framework. For example, one extension embeds the SQL database query language into java and statically checks for syntax and type errors in SQL queries. The tool supports the modular specification of composable language extensions so that programmers can import into java the unique set of extensions that they desire. When extensions follow certain restrictions, they can be composed without requiring any implementation-level knowledge of the language extensions. The tools automatically compose the selected extensions and the java host language specification.
In this paper, we introduce the IBM® WebSphere® Real Time product, which incorporates a virtual machine that is fully java™ compliant as well as compliant with the Real-Time Specification for java (RTSJ). We...
详细信息
We present the Tom language that extends java with the purpose of providing high level constructs inspired by the rewriting community. TOM furnishes a bridge between a general purpose language and higher level specifi...
详细信息
ISBN:
(纸本)9783540734475
We present the Tom language that extends java with the purpose of providing high level constructs inspired by the rewriting community. TOM furnishes a bridge between a general purpose language and higher level specifications that use rewriting. This approach was motivated by the promotion of rewriting techniques and their integration in large scale applications. Powerful matching capabilities along with a rich strategy language are among TOM's strong points, making it easy to use and competitive with other rule based languages.
暂无评论