2016418
CHIME: customizable hyperlink insertion and maintenance engine for software engineering environments
Source code browsing is an important part of program comprehension. Browsers expose semantic and syntactic relationships (such as between object references and definitions) in GUI-accessible forms. These relationships are derived using tools which perform static analysis on the original software documents. Implementing such browsers is tricky. Program comprehension strategies vary, and it is necessary to provide the right browsing support. Analysis tools to derive the relevant cross-reference relationships are often difficult to build. Tools to browse distributed documents require extensive coding for the GUI, as well as for data communications. Therefore, there are powerful motivations for using existing static analysis tools in conjunction with WWW technology to implement browsers for distributed software projects. The CHIME framework provides a flexible, customizable platform for inserting HTML links into software documents using information generated by existing software analysis tools. Using the CHIME specification language, and a simple, retargetable database interface, it is possible to quickly incorporate a range of different link insertion tools for software documents, into an existing, legacy software development environment. This enables tool builders to offer customized browsing support with a well-known GUI. This paper describes the CHIME architecture, and describes our experience with several re-targeting efforts of this system.
17642380
Evolutionary Modeling of Ordinary Differential Equations for Dynamic Systems
This paper presents a new idea of modeling one-dimensional dynamic systems by higher-order ordinary differential equation (HODE) models in stead of by the ARMA models used in the traditional time series analysis. Accordingly, based on the idea of hybrid evolutionary modeling, we modify the HEMA algorithm in (Cao et al., 1998a; Cao et al., 1998b) to approach the modeling problem of HODEs for dynamic systems. Two applications of time series are used to demonstrate its effectiveness and advantages.
1773435
Chava: reverse engineering and tracking of Java applets
Java applets have been used increasingly on Web sites to perform client-side processing and provide dynamic content. While many Web site analysis tools are available, their focus has been on static HTML content and most ignore applet code completely. The paper presents Chava, a system that analyzes and tracks changes in Java applets. The tool extracts information from applet code about classes, methods, fields and their relationships into a relational database. Supplementary checksum information in the database is used to detect changes in two versions of a Java applet. Given our Java data model, a suite of programs that query, visualize, and analyze the structural information were generated automatically from CIAO, a retargetable reverse engineering system. Chava is able to process either Java source files or compiled class files, making it possible to analyze remote applets, whose source code is unavailable. The information can be combined with HTML analysis tools to track both the static and dynamic content of many Web sites. The paper presents our data model for Java and describes the implementation of Chava. Advanced reverse engineering tasks such as reachability analysis, clustering, and program differencing can be built on top of Chava to support design recovery and selective regression testing. In particular, we show how Chava is used to compare several Java Development Kit (JDK) versions to help spot changes that might impact Java developers. Performance numbers indicate that the tool scales well.
19990526
The C Information Abstraction System
A system for analyzing program structures is described. The system extracts relational information from C programs according to a conceptual model and stores the information in a database. It is shown how several interesting software tasks can be performed by using the relational views. These tasks include generation of graphical views, subsystem extraction, program layering, dead code elimination and binding analysis. >
18376604
Software reuse metrics for an industrial project
In 1990 a project was established at AT&T to build applications that manage telephone systems. Since then the project has successfully completed over 20 applications comprising about 500,000 lines of source code. These systems are used daily by hundreds of managers and operators to monitor and provision the AT&T long distance telephone network. The project's success can be attributed directly to an early commitment in making software reuse a major component of its software development process. A critical factor was the establishment of a feedback loop between consumers and producers of reusable software to foster continual improvement and extension of reusable code repositories. Progresses in the feedback loop are measured by five different reuse measures. While no one measure is "best" as each provides a different perspective on reuse, two derived from the consumer/producer model have proven particularly useful: use of reusable library components and reuse growth factor. The latter developed in the study, helped uncover a new opportunity for reuse that was not obvious from other measures.
14171562
Enhancing the Memory Performance of Embedded Systems with the Flexible Sequential and Random Access Memory
The on-chip memory performance of embedded systems directly affects the system designers’ decision about how to allocate expensive silicon area. We investigate a novel memory architecture, flexible sequential and random access memory (FSRAM), for embedded systems. To realize sequential accesses, small “links” are added to each row in the RAM array to point to the next row to be prefetched. The potential cache pollution is ameliorated by a small sequential access buffer (SAB). To evaluate the architecture-level performance of FSRAM, we run the Mediabench benchmark programs [1] on a modified version of the Simplescalar simulator [2]. Our results show that the FSRAM improves the performance of a baseline processor with a 16KB data cache up to 55%, with an average of 9%. We also designed RTL and SPICE models of the FSRAM [3], which show that the FSRAM significantly improves memory access time, while reducing power consumption, with negligible area overhead.
8362551
Using simulation to facilitate the study of software product line evolution
A product line approach is a disciplined methodology for strategic reuse of source code, requirement specifications, software architectures, design models, components, test cases, and the processes for using the aforementioned artifacts. Software process simulation modeling is a valuable tool for enabling decision making for a wide variety of purposes, ranging from adoption and strategic management to process improvement and planning. In this paper, discrete event simulation is used to provide a framework for the simulation of software product line engineering. We have created an environment that facilitates strategic management and long-term forecasting with respect to software product line development and evolution.
6571672
Using object and trajectory analysis to facilitate indexing and retrieval of video
This paper aims to show that by using low level feature extraction, motion and object identifying and tracking methods, features can be extracted and indexed for efficient and effective retrieval for video; such as an awards ceremony video. Video scene/shot analysis and key frame extraction are used as a foundation to identify objects in video and be able to find spatial relationships within the video. The compounding of low level features such as colour, texture and abstract object identification lead into higher level real object identification and tracking and scene detection. The main focus is on using a video style that is different to the heavily used sports and news genres. Using different video styles can open the door to creating methods that could encompass all video types instead of specialized methods for each specific style of video.
6783224
Fingerprint Deformation Models Using Minutiae Locations and Orientations
Nonlinear deformations in fingerprint images, arising from the elasticity of the skin as well as the pressure and movement of the finger during image acquisition, lead to difficulties in establishing a match between multiple impressions acquired from the same finger. One solution to this problem is to estimate and remove the relative deformations prior to the matching stage. In this paper, these relative deformations are represented as an average deformation model based on minutiae locations and orientations using 2-D thin plate splines (TPS). The estimated average deformation is used to pre-distort a template prior to matching it with a query image in a verification task. Experimental results show that the use of minutiae locations and orientations to estimate the deformation leads to a more representative deformation model than using minutiae locations only. An index of deformation based on the bending energy is also proposed to select templates with the least variability in the deformations. The EER goes down by ap 1.1% when we incorporate minutiae orientation information and use the template selection strategy.
5453537
Testability of Software in Service-Oriented Architecture
Service-oriented architecture (SOA) is a system architecture in which a collection of loosely coupled services communicate with each other using standard interfaces and message-exchanging protocols. As an emerging technology in software development, the SOA presents a new paradigm, and it affects the entire software development cycle including analysis, specification, design, implementation, verification, validation, maintenance and evaluation. This paper proposes several testability evaluation criteria for SOA software, which serves as a reference for both service providers and application builders to evaluate the test support to SOA software. The proposed evaluation criteria are illustrated in a stock-trading case study