Download:
|
by Jeffrey Korn, Yih-farn Chen, Eleftherios Koutsofios
In Proc. Working Conference on Reverse Engineering
http://www.cs.princeton.edu/~jlk/wcre.ps
Add To MetaCart
Abstract:
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. This 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 websites. This paper presents our data model for Java and describes the implementation of Chava. We give some examples of advanced analysis tasks such as reachability and clustering analysis. We also used our database differencing technologies to compare several Java Development Kit (JDK) versions. We show how Chava can help spot changes that might impact Java developers. Performance numbers indicate that the tool scales well.
Citations
|
1075
|
The entity-relationship model – toward a unified view of data
– Chen
- 1976
|
|
725
|
The Java Programming Language
– Arnold, Gosling
- 1996
|
|
382
|
Reverse Engineering and Design Recovery: A Taxonomy
– Chikofsky, Cross
- 1990
|
|
366
|
A Metrics Suite for Object Oriented Design
– Chidamber, Kemerer
- 1994
|
|
128
|
The C Information Abstraction System
– Chen, Nishimoto, et al.
- 1990
|
|
109
|
ªAn Intelligent Tool for Re-Engineering Software Modularity,º
– Schwanke
- 1991
|
|
101
|
ªA Reverse Engineering Approach to Subsystem Structure
– Muller, Orgun, et al.
- 1993
|
|
95
|
TestTube: A System for Selective Regression Testing
– Chen, Rosenblum, et al.
- 1994
|
|
86
|
System Structure Analysis: Clustering with Data Bindings
– Hutchens, Basili
- 1985
|
|
83
|
A Framework for Source Code Search Using Program Patterns
– Paul, Prakesh
- 1994
|
|
78
|
Using Automatic Clustering to Produce HighLevel System
– Mancoridis, Mitchell, et al.
- 1998
|
|
48
|
Ciao: a graphical navigator for software and document repositories
– Chen, Fowler, et al.
- 1995
|
|
40
|
The AT&T Internet Difference Engine: Tracking and Viewing
– Douglis
- 1998
|
|
38
|
PCTE Interfaces: Supporting Tools in Software-Engineering Environments
– Thomas
- 1989
|
|
36
|
Lightweight extraction of object models from bytecode
– Jackson, Waingold
- 1999
|
|
30
|
A C++ data model supporting reachability analysis and dead code detection
– Chen, Gansner, et al.
- 1998
|
|
24
|
Investigating Reverse Engineering Technologies for the CAS Program Understanding Project
– Buss, Mori, et al.
- 1994
|
|
22
|
GENOA---A language and front-End independent source code analyzer generator
– Devanbu
- 1992
|
|
20
|
Reverse engineering
– Chen
- 1995
|
|
19
|
3D visualization of software architectures
– Feijs, Jong
- 1998
|
|
17
|
A Simple and Extensible Graphical Debugger
– Hanson, Korn
- 1997
|
|
13
|
Tools that Bind: Creating Integrated Environments
– Sharon, Bell
- 1995
|
|
12
|
von Gudenberg. Pattern-based design recovery of java software
– Seemann, W
- 1998
|
|
10
|
Change and Adaptive Maintenance Detection in Java Software Systems
– Rayside, Kerr, et al.
- 1998
|
|
8
|
Grappa: A Graph Package in Java
– Barghouti, Mocenigo, et al.
- 1997
|
|
7
|
WebCiao: A Website Visualization and Tracking System
– Chen, Koutsofios
- 1997
|
|
1
|
Cdiff: A Syntex Directed Differencer for C++ Programs
– Grass
- 1992
|
|
1
|
iproxy: An agent-based middleware
– Rao, Chen, et al.
- 1999
|