Community Sites
Create your own community website and start earning today !
It's Free !
 
Communities Members BookmarksPolls Fresher Jobs Funny Pictures MCA Projects New Member FAQ  



My Profile
Active Members
TodayLast 7 Days more...



Awards & Gifts
Online Exams

Fresher Jobs


Our fresher job section is exclusively for fresh graduates! Find jobs for freshers in major Indian cities including Bangalore, Chennai, Hyderabad, Pune or Kochi

Resources


Find educational articles, blogs, discussion threads and other resources.

Colleges


Find details about any college in India or search for courses.

website counter



Reverse-Engineering Tool


Posted Date: 19 Mar 2008    Resource Type: Articles/Knowledge Sharing    Category: General

Posted By: Aparanjitha       Member Level: Gold
Rating:     Points: 5



Title of the project
To use the Reflection API of Java to create a comprehensive Reverse-Engineering Tool

Abstract of the project

This project aims to develop a tool that will reverse engineer existing java code into meaningful class diagrams. The tool must show various class relationships, viz inheritance, aggregation, is-a, has-a etc.
The utility must plug-in to the Eclipse IDE so that it is easily accessible to developers.
As an option, the service could be exposed as a web-service.

Keywords

Generic Technology keywords

J2EE, IDE’s, Tools

Specific Technology keywords

Java, Eclipse IDE

Project type keywords

Analysis, Design, Implementation, Testing, User Interface

Functional components of the project

Following is a list of functionalities of the system. More functions that you find appropriate can be added to this list. And, in places where the description of is not adequate, you can make appropriate assumptions and proceed.

One of the common requirements in industry is to understand an existing system to work on it later. Understanding occurs at various levels, viz. business needs, high level working, operations with other systems etc. One of the ways in which an overall picture of the system can be gained is with UML Diagrams. Surprisingly, several modern systems do not have this documentation at all.

This project aims to reverse engineer exising code into usable class diagrams.

A person should be able to
Use this system from the Eclipse IDE

Give a .class or .java file as input and see the class diagram for classes in that .java or .class file

Point to a java package structure / jar file and see the class structure and interactions among classes, inheritance, associations and other class-relationships etc.

As an option, the tool can also show sequence diagrams for possible flows.

Use the system to gauge the various code-quality parameters of the input code like cyclometric complexity, depth of inheritance etc.

As an option, this service can be exposed as a web-service.



Steps to start-off the project
1.Understand the reflection API and what it can and cannot do. Things not possible with the reflection API must be handled differently.
2.Learn thoroughly how Java compiles classes and loads them. You will need to understand this to perform sanity checks on the input code.
3.Generate the class hierarchy as text before going in for graphical representation.
4.While reflection API is one way to perform reverse-engineering, you may, at some points, want to actually parse the code to get more information, especially about associations among classes. A tool JavaCC, similar to Lex-Yacc, for Java is available.
5.Learn what are the industry standards for inheritance depth, complexities etc. Study the different ways these may be measured.
6.A lot of help is available for developing eclipse plugins on the internet. Check out various sourceforge sites to learn more. The Eclipse project is open source, so you can study that code as well.
7.Try to use various testing frameworks like JUnit to test your code.





Responses


No responses found. Be the first to respond and make money from revenue sharing program.

Feedbacks      
Popular Tags   What are tags ?   Search Tags  
(No tags found.)

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: Development of Effort Tracker System
Previous Resource: Online store
Return to Discussion Resource Index
Post New Resource
Category: General


Post resources and earn money!
 
Related Resources

Watch TV Channels



Contact Us    Editors    Privacy Policy    Terms Of Use   

SpiderWorks Technologies Pvt Ltd. 2006 - 2007 All Rights Reserved.