27-08-2014, 02:40 PM
This report is effort to present the aspects related to WAR Comparator Tool as seen by us viz. our perspective and experience. This report is written with an aim to culminate and most importantly aimed at the different aspects with which the staff approach any problem and solved it with least amount of investment of time, money and resource. This report shall help all those who shall need an insight into company.s functioning and products manufactured/ fabricated/ assembled. It also helps one in knowing depth about company.s managerial affairs as well. This report is precise and short and is aimed at making it as pictorial as possible for better understanding of the concepts discussed.
i. Project Definition
The tool would compare the codes that are present inside the WAR file and gives the user a consolidated output on whether there is any repetition of code among the WAR files. The factors on the basis of which verification is done are method/function signatures, static blocks, final variables, control structures & expressions.
ii. Scope and Objective of Project
The tool would compare the codes that are present inside the WAR file and gives the user a consolidated output on whether there is any repetition of code among the WAR files.
The tool is used for comparing two WAR files. The files inside the WAR files with the same extension will be compared.
The files are compared based on the following factors.
· Methods/Functions signatures
The signature includes the return type of the method, number and type of arguments. These signatures are compared.
· Static blocks
Static block is a block that is executed while class is loading. The statements inside this block are taken for comparison.
· Decision making statements
Decision making statements such as if, switch are taken for comparison. The condition in the decision making statements are compared.
· Looping statements
Looping statements such as for, while, do-while are taken for comparison. The condition in the looping statements are compared.
· Final variables:
Final variable is a variable whose values are not changed (constant). The declaration of these constants are compared.
· Expressions:
Expression is the combination of operands, operators and constants.
2. SYSTEM STUDY AND PROBLEM FORMULATION i. Existing System
There are several tools present for the comparison of two WAR files.
Beyond Compare: It is a utility for comparing files and folders. It can help you find and reconcile differences in source code, folders, images and data, even if your files are contained in zip archives or on FTP sites. It can synchronize your folders, and validate your copies.
Beyond Compare seamlessly coordinates the entire comparison job, from the folder structure down to individual differences in files. Specialized file viewers communicate difference info back to the folder session, helping you quickly concentrate on important differences. Beyond Compare remembers your various sessions so that you can come back to the same comparison job time after time.
In this tool specific differences are marked with red text, and the entire line is given a light red background to indicate the presence of a difference in the output.
Zipdiff: this tool is used when you need to compare the contents of two zip files. It is equally suited for comparing jar files, EAR files, WAR files or RAR files.
Run it standalone or as an Ant task. The tool supports three output formats: plain text, XML, and HTML. Zipdiff is written in Java
ii. Limitations of Existing System
· In Beyond Compare the text contents of Microsoft Word .doc and Adobe .pdf files can also be compared but not edited.
· In another tool zipdiff if the two WAR Files are equivalent in type, name, size then the output is shown including these factors only.
The existing system compares text files only. For WAR files, it checks whether both the WAR files are equal. It doesn.t display the code in which similarity occurs. The co-related code between the files of WAR files increases the file size and also execution time. It decreases the quality of the software product.
iii. Proposed System
The proposed system is the “WAR Comparator tool” which is used for identifying the co-related code between the files of two WAR files. This tool compares two WAR files which is selected by the user. This tool compares code of files of those WAR files. and produces the information about the similarity to the user. These similarities are removed later by the user of this tool.
The WAR Comparator tool helps to identify and display the co-related code to the user. The co-related code is the code which is present in one file of WAR file matches with the code of the file of another WAR file.
The WAR Comparator tool helps to increase the quality of the product and utilize the resources better way. It decreases the memory usage and execution time.
iv. Advantages of Proposed System
· It enhances quality of the software product
Co-related codes are identified by the WAR Comparator tool. These codes are optimized later. So, it helps to increase the quality of the product
· Helps to decrease the redundancy
It helps to identify the redundant code among files of WAR files.
· Better utilization of resources
Due to removing the co-related code, the code is optimized and size of the file is decreased which results in better utilization of memory and fast execution.
· Easy to use
It is user-friendly and the interface is designed in simple manner that the non-specialists also can access the tool.
· Helps to decrease the line of code
The algorithms and the techniques used in the coding helps to decrease the size of the code
The algorithm used i.e. Multi pattern matching algorithm helps searching patterns with only one time file parsing. It reduces the parsing time as compared to linear searching algorithm. It can be used for parsing large files.
The technique of Hashing decreases the number of comparisons, because this tool performs integer comparisons (relevant hash codes are compared) only.
FUTURE ENHANCEMENT
In future, the WAR Comparator tool will be developed to compare more than two WAR files. The consolidated output generated by the tool contains the similarity aong different WAR files. This will be helpful for increasing the quality of the software product.
v. Hardware and Software requirements a) Deployment Environment Requirements
Hardware requirements
Processor/RAM/HDD : 2 GB RAM
Software requirements
OS for Web server : Windows 7
OS for Database Server: NA
DBMS : NA
Third Party S/Ws :NA
b) Development Environment Requirements
IDE : Eclipse IDE
Processor/RAM/HDD : Compatible with Eclipse
vi. Feasibility Study
A Feasibility Study is a test of a system proposal according to its workability impact on organization, ability to meet user needs and effective use of resources. The objective of a feasibility study is not to solve a problem but to acquire a sense of its scope. During the study, the problem definition is crystallized and the aspects of the problem to be included in the system are determined. After the initial investigation of the system that helped to have in-depth study of existing system, understanding its strength and weaknesses and the requirements for the new proposed system.Feasibility studies aim to objectively and rationally uncover the strengths and weaknesses of an existing business or proposed venture, opportunities and threats present in the environment, the resources required to carry through, and ultimately the prospects for success. In its simplest terms, the two criteria to judge feasibility are cost required and value to be attained.
A well-designed feasibility study should provide a historical background of the business or project, a description of the product or service, accounting statements, details of the operations and management, marketing research and policies, financial data, legal requirements and tax obligations. Generally, feasibility studies precede technical development and project implementation.
A feasibility study evaluates the project.s potential for success; therefore, perceived objectivity is an important factor in the credibility of the study for potential investors and lending institutions. It must therefore be conducted with an objective, unbiased approach to provide information upon which decisions can be based. The feasibility study helps to “frame” and “flesh-out” specific business scenarios so they can be studied in-depth. During this process the number of business alternatives under consideration is usually quickly reduced.
Below are other reasons to conduct a feasibility study:
· Gives focus to the project and outline alternatives.
· Narrows business alternatives