Java apps have most flaws, Cobol is cleanest, study finds

Java apps have most flaws, Cobol is cleanest, study finds

Analysis of 745 apps determines costs of flawed software as IT interest in 'technical debt' takes off

There is a lot of badly engineered software in the world that's creating a lot of risk to businesses and organisations, and accumulating so-called 'technical debt.'

Such a legacy of problematic programming that violates good architectural and coding practices is called " technical debt ," a metaphor that is gaining broader attention.

Poor quality code, whether the result of business decisions to cut corners or weak programming skills, may be responsible for a computer system crash, a security breach, poor performance or data corruption, among other things.

Repairing each line of code has a cost, or technical debt, that accumulates.

An example of technical debt is illustrated by the Year 2000 problem, when many applications were poised to represent the millennial as 00 and interpreting it as 1900. Organisations worldwide spent untold amounts of money remediating two digit dates. Some of the applications were built by developers who knew the problem would arise eventually.

Cast Software, a maker of software quality tools that evaluate the engineering soundness of the architecture and coding of an application, analyzed the 745 applications which combined for some 365 million lines of code. The company Thursday released a report detailing the conclusions of that analysis.

Cast analyzed applications from 160 companies in nearly a dozen industries.

The analysis included searches for as many as 1,800 types of development violations in applications written in Java EE, Cobol, .Net, C, C++ and other programming languages.

Cast counted up the number of violations and then calculated the the average technical debt to repair each line of code at $3.61. That figure is based on what it would it would cost to repair each violation at $75 per hour.

In looking at specific languages, Java EE fared worst at $5.42 per line of code, while Cobol did best at $1.26.

Bill Curtis, chief scientist at Cast, said he believes Cobol did best because the code is older. Programmers "have been beating on it for 30 years" and in that time have fixed some of the most critical violations, he said.

As for Java, Curtis said he can only speculate on the problems, but said that "there are many people going into Java now that really don't have strong computer science backgrounds. We may just be seeing the fact that there is an awful lot of people writing code who aren't gurus in software engineering."

Cast's study comes amid growing interest among IT organisations in understanding the corporate implications of technical debt.

Carolyn Seaman, an associate professor of information systems at the University of Maryland, Baltimore County, and the principal investigator in a National Science Foundation-funded program on technical debt, said the increasing attention is partly because "the metaphor just resonates with people."

There has long been research on the technical debt problem, "but this metaphor now makes it easier for researchers to describe their work in a way that makes it relevant for practitioners," she said.

"One obstacle to improving software quality has been the uncertainty around what development techniques and approaches actually result in higher quality," said Seaman.

Gartner last year chimed in on this topic, redefining the term as "IT debt." The IT research firm puts the worldwide cost of deferred maintenance in 2010 at $500 billion and rising to a trillion dollars in a few years.

It remains to be seen how efforts to affix a certain cost to technical debt can be used to provide a clear guide to business risks. But businesses are starting to pay more attention to the issue, said John Heintz, a technical consultant at Cutter Consortium.

Heintz said he has begun to see technical debt being raised as a due diligence issue in mergers and acquisitions, and increasing awareness of it is influencing software development practices.

Putting more attention on technical debt doesn't mean that developers won't still cut corners to speed development, said Heintz.

"Sometimes it is appropriate and necessary to cut corners, but it is never appropriate to forget that you cut them and ignore the fact," said Heintz.

The Software Engineering Institute at Carnegie Mellon Universities, a federally funded research center sponsored by the U.S. Department of Defense, started working on the technical debt issue about two years ago and has been organising workshops on the issue, according to Ipek Ozkaya, a senior member of the technical staff.

"There is increasing interest in this area because people want to get to the foundations of it," said Ozkaya.

Beyond some code metrics about how to illustrate technical debt, Ozkaya said there is a lack of guidance "about how to pay it (technical debt) back and how to know when you even have to pay it back, and how to map it to your changing requirements."

Comments

  • Gomez_Addams Why was Mainframe Assembler excluded
  • Texashroom Alain I think you may not be up to date on the capabilities and costs factors associated with the modern mainframe System z It is true that some workloads run better on other platforms but with the zEnterprise and its hybrid capabilities it can certainly compete with the best of the rest Here is an article that might be of interest httpdestinationzorgMainfr
  • Alain Cardinal Probably thats people of mainframe department they write this article Thats not serious to return to COBOL language to write big application If you select COBOL thats probably IBM people said the Z os server is less expensive and the fast server First the Z is now using CISC HAL layer to speak at P6 RISC processor he use very slow memory667Mhz the new mainframe use PCIe card because the last model use 1Gbs bus board and the PCIe is 16Gbs or 32Gbs We have develop many years with COBOL you take 3 years to write software with java or other language you take 6 month for the same application The mainframe total cost is 10 times over the same performance server of Sun or Intel server thats the lastyears of mainframe Mainframe is very slow server now he cant take very big job similar to exadata from OracleYou should buy 1 mainframe and 3 DS8300 SAN for similar job of one rack exadata but is 3x slower with mainframe Thats usual IBM marketing to write on indepedant journal to said you will paid less with this very old technology but when you calculate all after you paid very big price and you cant use your code in another server after not good company strategy to have only one computer system can run your bussiness
Advertisement
Send to a friend

Email this article to a friend or colleague:


PLEASE NOTE: Your name is used only to let the recipient know who sent the story, and in case of transmission error. Both your name and the recipient's name and address will not be used for any other purpose.


ComputerworldUK Webcast

ComputerworldUK
Share
x
Open
* *