Merging two versions of an application

Objective

Research of factorizable portions in the code of two variant applications.

Justification

It sometimes happens that the new version of an application is created by copying the full code of another, and then introducing modifications in the duplicated code to adapt it to new requirements.

This way of proceeding leads to several problems : 

•    when defects are discovered in some version, they are not corrected int the other one
•    If a third version must be created, which version will be the source to be used ?

The factorization of all possible code portions between the two applications prevents these problems.

Languages

C, C++, Java, Ada …

Controls

•    identification of files with same name and same content
•    identification of files with different name and same content
•    identification of similar code in the two applications
•    identification of specific code in each application

Material

Delivery of a report enlightning all factorizable code portions between the two applications