SD CloneDR Promotes Big Savings
A different application of DMS is helping to enhance software quality. Salion, Inc., (Austin, TX and Detroit, MI) is an enterprise software company dedicated exclusively to the critical business needs of suppliers. By optimizing the Revenue Acquisition process, Salion enables suppliers to target the best business, win more of the time, and deliver increased customer satisfaction. Salion's applications consist of 250,000 lines of Java code. Dale Churchett, Salion's senior software architect, recognizes that even the best-designed software can be improved using a deeper understanding of its as-is structure. Semantic Designs has provided Salion with two analysis tools based on DMS, the CloneDR and Java Test Coverage.
The CloneDR tool finds and pinpoints redundant code anywhere in the software. Redundant code exists in systems because, for new tasks, programmers often copy an existing part of the software that does almost what they want, and then modify the copy so it does exactly what the new task requires. To be safe, programmers always copy too much, and that produces typically 10-20% redundant code in a large software system, regardless of programming language, application, or engineering team quality. A 250,000-line system typically has 35,000 redundant lines. Since it costs about $1.50 per source line per year to maintain code, this redundancy costs some $50,000.00 year by itself.
Such redundant code can be eliminated, lowering the ongoing software maintenance costs, enabling companies like Salion to spend more of its engineering budget enhancing their product. Redundant code is also often an indicator of a good programming idea that is not packaged in a convenient, reusable way for the programmers. Using these indicators, Salions' engineering team is improving the structure of their application, making it easier to enhance in the future. Churchett said that CloneDR had discovered non-obvious core reusable assets. An additional surprising benefit was the detection of a number of bugs that stood out clearly as strange differences between what appear to be similar copies of code.
For specific modernization needs, contact [email protected].