x
Loading
 Loading
Hello, Guest | Login | Register

Squashing Bugs at the Source

Based on new research, source code analysis has been used to find thousands of bugs in the Linux 2.6.x kernel. Here’s how the technology works, what it can find, and why coding may never be the same again.

There are many ways to make software better: unit testing exercises individual pieces of software; stress tests put an entire project through rigorous paces; and field testing allows customers to deploy and test pilot software releases in production-like settings.

If you’re a software developer, you’re no doubt familiar with these and a host of other techniques and methodologies designed to improve the quality of your code. But, believe it or not, you can start debugging and improving your code before your code even runs. Source code analysis attempts to find bugs by reading and analyzing the source code of your program.

Source code analysis can detect memory leaks, NULL pointers, and buffer overflows, just to name a few. Better yet, source code analysis can find bugs early — before the unit tests fail, before quality assurance finds faults, and before your customer gets irate — leaving you with more time to focus on the cool stuff. Oh, yeah.

While computer scientists and developers have been analyzing source code for decades — using everything from eyeballs to automated tools — the prescribed automatable techniques typically provided little practical benefit for working programmers. In the past, source code analysis tools were tied to specific programming languages or often only performed one or two kinds of audits.

However, recent research has solved many practical problems that older techniques failed to address, yielding real breakthroughs and technology that can be used by anyone. Modern techniques can find bugs from…

Please log in to view this content.

Not Yet a Member?

Register with LinuxMagazine.com and get free access to the entire archive, including:

  • Hands-on Content
  • White Papers
  • Community Features
  • And more.
Already a Member?
Log in!
Username

Password

Remember me

Forgotten your password?
Forgotten your username?
Read More
  1. Helpful Tools for Software Developers
  2. The Github Hall of Fame
  3. Book'em, Github.
  4. This Week on Github: Stupid Ruby Tricks
  5. A Veritable Scatter Shot!
Follow Linux Magazine
Rackspace