Unified Information Access Blog

Welcome to Attivio's Unified Information Access Blog. Join us for discussions on topics ranging from enterprise search solutions, information access insights, Agile software development methodology to programming with Java. We hope you'll find the articles informative and participate in the discussions by leaving a comment.

Share


Yesterday SANS/CWE released a list of the Top 25 Most Dangerous Programming Errors. They're really potential security issues - thus the "dangerous" part.

The list includes dot-com-era hits like Failure to Preserve SQL Query Structure (aka 'SQL Injection'), Failure to Preserve Web Page Structure (aka 'Cross-site Scripting') and Improper Input Validation. There are also more venerable errors like Race Conditions, and one that presumably pre-dates computers: Incorrect Calculation.

What is new and interesting is the proposal that "buyers [...] require that software vendors certify in writing that the code they are delivering is free of these 25 programming errors".

In general I think having a list of common errors is a good thing. Merely getting a list together will help spark dialogue, and, as the announcement notes, those who "prepare programmers will use the Top 25 Errors as a foundation for curriculum". My experience as a CS undergrad was entirely focused on design and implementation; debugging was something you had to figure out for yourself.

That said, I'm not sure how feasible it is for organizations to certify that they are free of the top 25 CWEs. The cost to do that by hand could be prohibitive in any economic setting. Nor is it clear that every buyer needs such certification, or would be willing to pay for the overhead.

What is needed now are code analysis tools to help pinpoint these types of issues. I've already written about Attivio's own practices with respect to quality - we use a variety of static code analyzers like FindBugs and CheckStyle and are always on the lookout for new ones. My perception, perhaps wrong, is that such tools are more prevalent today than they were 10 years ago. One company I worked for used Purify and BoundsChecker, but others didn't bother with them, or limited them to QA use.

The announcement mentioned that a "leading software testing vendor" will announce support for detecting a "large fraction" of the errors, but didn't name them. I haven't seen any specifics; if you have please This e-mail address is being protected from spambots. You need JavaScript enabled to view it or leave a comment.

I hope these kinds of announcements will serve as a rallying cry for the industry. And let's not stop at automated code analysis; at least one commenter on Slashdot argued convincingly that the problem is also (perhaps as much or more) rooted in the way companies approach software - packing features in until the release is late, or changing requirements on the fly - then releasing a buggy beta and hoping to clean it up in time for the release. Almost any methodology, followed even moderately, would likely produce a better result than that.

Building good quality software requires focused and deliberate efforts - from requirements to design, implementation to testing. Static code analysis and a productive methodology are just two more angles. There are no shortcuts.

Trackback(0)
Comments (0)add comment

Write comment
smaller | bigger

security image
Write the displayed characters


busy

SUBSCRIBE

blue-rss-icon.png

Enter your email address:

 

Connect with Attivio

ico_attivio_spiral.jpg facebook-Icon.png twitter-icon.png

Contact Us:
+1.857.226.5040

Recent Posts

UIA: Boosting Customer Loyalty (Or How NOT to Annoy Your Customers)

I am in Tel Aviv enjoying a beautiful summer afternoon with a new customer when my mood is altered by a credit card snafu. Back in the states, a wary...
Read More...

Clash of the Titans: Price and Performance for Data Warehousing and Analytics

Why are all the mega technology vendors suddenly so focused on next generation data warehousing and analytics? Primarily, it's because Oracle wants to...
Read More...

Enriching Unified Information Stores with Text Analytics

Too often getting access to all the relevant business information we need has forced us to undertake a journey across multiple sources, using different...
Read More...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8