GUPRO [15]

Compliance Crossref

completeness Scalability

Portability

Availability

C, C++, Java, and RDBMS

1) It uses a schema independent querying mechanism.

2) This model implies (conceptual model) the structure of the graph-based GUPRO-repository. Source code is extracted into the repository and the repository graphs can be viewed by an integrated querying and browsing facility.

3) GUPRO has a complete treatment of preprocessor facilities [16] .

1) Due to large software system all facts are source cannot fill at once due to Limited repository size, fact extractors for multi-languages systems follow a four step parsing approach [17] .

DEFCTO

[18]

Fault tolerance

Completeness

Compliance

Crossref Preprocessor

Completeness Availability

Portability

Language independent

1) Arbitrary factual annotation can be added to the grammar; it is independent from any preconceived analysis model and is fully general.

2) The method is succinct and its notational efficiency has been demonstrated by comparison with other method.

1) This technique does not rely on a specified grammar formalism or parser.

COLUMBS [19]

Fault tolerance

Completeness

Compliance

Crossref Preprocessor Completeness

Portability

C/C++ projects and to extract their UML Class Model and call graph

1) It supports project handling, data extraction, data representation and data storage. Furthermore, client entering methods can be used to produce comprehensible (clear-cut) diagrams from the extracted information.

2) Recoverable fault tolerance because data extraction is pre-processed.

3) It is compliance because it is highly adoptable from user as it is a professional tool covering Reverse Engineering Tool in a single package [20] .

1) Costly and not ease to availability.

Imagix-4D [7] [3]

Availability

Portability

Usability

Scalability

Performance

1) It is used primarily for understanding, documenting and evolving existing C, C++ and Java software.

2) It is also used in Software metrics measure design quality and identify potential testing and maintenance issues.

1) It provides views to rapidly check and systematically study software.

2) Presents key information on software in a 3D-graphical format which enables the user to quickly focus on particular areas of interest.

3) It helps software developers comprehend complex or legacy C, C++ and Java source code.

4) By using Imagix-4D to reverse engineer and analyze our code, we are able to speed your development, enhancement, reuse, and testing.

5) It eliminates bugs due to faulty understanding.

6) It enables us to rapidly check or systematically study your software on any level from its high level architecture to the details of its build, class and function dependencies.

7) We can visually explore a wide range of aspects about your software-control structures, data usage, and inheritance. All based on its precise static analysis of your source.

8) Using this tool we are able to find and focus on the relevant portions of your source code through its querying capabilities.

9) Using this tool we are able to find and focus on the relevant portions of your source code through its querying capabilities [21] .

1) The disadvantage of smaller graph is that highly connected graphs get complicated and unreadable.

2) The hand designed class and function diagrams sometimes does not get match with the tool designed diagrams (Class Diagram).

3) The parser lacks of important information about method/function calls which is due to inability of interpreting template parameters (Sequence Diagram).

4) It is unable to resolve the function to which the invocation resolves during compilation time (Sequence Diagram).

5) Imagix-4D requires many hours of analysis for larger code-bases.

6) Imagix-4D does not produce a full executable slice, since it does not perform analysis of relevant conditions for the identified statements.

7)) In Imgix-4D has draw Class diagram but it is limited in nature it not give all relationship (Association, Aggregation, Dependencies, Generalization Realization).