Elucidative programming in Java
IPCC/SIGDOC '00 Proceedings of IEEE professional communication society international professional communication conference and Proceedings of the 18th annual ACM international conference on Computer documentation: technology & teamwork
Dynamic analysis for reverse engineering and program understanding
ACM SIGAPP Applied Computing Review
Search based reverse engineering
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Role-based exploration of object-oriented programs
Proceedings of the 24th International Conference on Software Engineering
On the Automatic Recovery of Style-Specific Architectural Relations in Software Systems
Automated Software Engineering
Visualizing and Analyzing Software Infrastructures
IEEE Software
Design Pattern Rationale Graphs: linking design to source
Proceedings of the 25th International Conference on Software Engineering
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A reverse engineering tool for precise class diagrams
CASCON '04 Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research
Spectral and meta-heuristic algorithms for software clustering
Journal of Systems and Software - Special issue: Software reverse engineering
On the Automatic Modularization of Software Systems Using the Bunch Tool
IEEE Transactions on Software Engineering
Automatically discovering design patterns and assessing concern separations for applications
Proceedings of the 2006 ACM symposium on Applied computing
Modeling the search landscape of metaheuristic software clustering algorithms
GECCO'03 Proceedings of the 2003 international conference on Genetic and evolutionary computation: PartII
Clustering methodologies for software engineering
Advances in Software Engineering
Hi-index | 0.00 |
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 web sites.This paper presents our data model for Java and describes the implementation of Chava. Advanced reverse engineering tasks such as reachability analysis, clustering, and program difference 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.