English (United Kingdom)French (Fr)
Innovation CodeReducer
CodeReducer

Code duplication is a widely used technique in software writing. It is very easy to process: you just have to copy the part of the code you want to re-use and to adapt it to new specifications. But this simple approach can have dramatic consequences:

  • if the duplicated code had a defect, it is spread as many times as the code is duplicated;
  • a modification in one of the copies is not automatically transferred to the other ones, even if it is carried out in a common section;
  • the code size increases critically, without providing innovating new services.


This can lead to end customers' dissatisfaction, when they find the same type of defect several times, that was supposedly already fixed.

In the case of sub-contracting software writing, you can be asked to pay for code you have already payed for in the past, and which is re-used in new developments. Perhaps you may also sometimes pay for public domain code.

CodeReducer helps you to localize duplicated code, and, by factorizing it, to reduce the size of software applications and their maintenance costs, for your customers' highest satisfaction.

Discover CodeReducer's success story in railway transport



Using CodeReducer

Defect correction

You correct a defect in a code portion. This code may be duplicated. You select it and CodeReducer will point out each part of your software where similar code can be found.

Research of re-used code

You receive from a subcontractor source code for a new application. CodeReducer points out the code containing important similarities with the previous deliveries for other projects.

Research of public code

You receive from a subcontractor the code of an application, that is also proposed under free license. CodeReducer indicates which part of the code in the delivery is very similar to the free software code.

Research of differences between different versions of software

A software application was written re-using software code from another application, which has been modified. To reduce maintenance costs, you want to accurately localize the differences between these two applications. CodeReducer allows you to identify unchanged files, and for those files which have been modified, it helps you to locate the differences.
 
How CodeReducer works

CodeReducer is available for ADA, Java, C, C++, Tcl, Cobol and Fortran. Any other language can be added by request to Kalimetrix.

The parameter settings in CodeReducer cover four domains: type of research to perform, precision of expected result, what must be searched, and result accuracy.

 

Reseach type

CodeReducer offers three research types:


    * similar code research: the entire source code is examined and similar code portions are localized (according to the three other parameters)

    * reference code research: all code portions similar to a defined reference code portion are localized

    * comparison between two software applications: two source code sets are compared in order to find similar files.

 

Precision

CodeReducer offers 3 levels of accuracy, allowing to perform more or less accurate similarity research:

    * MIN: only structuring elements in the language are considered (eg. package declarations, classes, sub-programs, tests, loops). Thus code portions having the same general algorithm are searched for, even if the instructions are different. However instruction blocks (begin/end, {}) are studied and blocks should have the same number of instructions.

   * MED: MIN + instructions must use the same operators

   * MAX: MED + basic information types must be the same.

 


Latest news

April, 8 : Free seminar in Paris

Cité Internationale Universitaire de Paris - 17 bd Jourdan - 75014 Paris

Kalimetrix invites you to its next seminar in Paris, about

"Software products evaluation".
 
Please note that this seminar will be held in French.

 Read more

Tax Credit for Research

Kalimetrix has just received a government agreement concerning the French Tax Credit for Research disposition. This enables French companies to benefit from fiscal reductions when they entrust Kalimetrix with research and development related work.

 Please note that this applies only to French based companies.

News

 Kalimetrix IBM partner

 

 
 
In june, 2009, Kalimetrix became ISV (Independant Software Vendor), approved by IBM to sell the Rational product line for software development.

Poll of the month

Have you measured your software projects statistics?