• DocumentCode
    3342970
  • Title

    Chava: reverse engineering and tracking of Java applets

  • Author

    Korn, Jeffrey ; Chen, Yih-Farn ; Koutsofios, Eleftherios

  • Author_Institution
    Dept. of Comput. Sci., Princeton Univ., NJ, USA
  • fYear
    1999
  • fDate
    6-8 Oct 1999
  • Firstpage
    314
  • Lastpage
    325
  • 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. 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
  • Keywords
    Java; distributed programming; hypermedia markup languages; information resources; reachability analysis; relational databases; reverse engineering; software maintenance; software tools; CIAO; Chava; HTML analysis tools; Java Development Kit versions; Java applet tracking; Java data model; Java developers; Java source files; Web site analysis tools; Web sites; applet code; client-side processing; clustering; compiled class files; design recovery; dynamic content; program differencing; reachability analysis; relational database; retargetable reverse engineering system; reverse engineering tasks; selective regression testing; static HTML content; structural information; supplementary checksum information; Data mining; Data models; Data visualization; HTML; Information analysis; Java; Reachability analysis; Relational databases; Reverse engineering; Visual databases;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering, 1999. Proceedings. Sixth Working Conference on
  • Conference_Location
    Atlanta, GA
  • Print_ISBN
    0-7695-0303-9
  • Type

    conf

  • DOI
    10.1109/WCRE.1999.806970
  • Filename
    806970