Hacker Monthly #22 by Netizens Media
Author:Netizens Media [Media, Netizens]
Language: eng
Format: epub, mobi, pdf
Publisher: Netizens Media
Published: 2012-03-02T19:11:26+00:00
Static Code Analysis
By JOHN CARMACK
The most important thing I have done as a programmer in recent years is aggressively pursue static code analysis. Even more valuable than the hundreds of serious bugs I have prevented with it is the change in mindset about the way I view software reliability and code quality.
It is important to say right up front that quality isnât everything, and acknowledging it isnât some sort of moral failing. Value is what you are trying to produce, and quality is only one aspect of it, intermixed with cost, features, and other factors. There have been plenty of hugely successful and highly regarded titles that were filled with bugs and crashed a lot; pursuing a Space Shuttle style code development process for game development would be idiotic. Still, quality does matter.
I have always cared about writing good code; one of my important internal motivations is that of the craftsman, and I always want to improve. I have read piles of books with dry chapter titles like âPolicies , Standards, and Quality Plans,â and my work with Armadillo Aerospace has put me in touch with the very different world of safety-critical software development.
Over a decade ago, during the development of Quake 3, I bought a license for PC-Lint and tried using it â the idea of automatically pointing out flaws in my code sounded great. However, running it as a command line tool and sifting through the reams of commentary that it produced didnât wind up winning me over, and I abandoned it fairly quickly.
Both programmer count and codebase size have grown by an order of magnitude since then, and the implementation language has moved from C to C++, all of which contribute to a much more fertile ground for software errors. A few years ago, after reading a number of research papers about modern static code analysis, I decided to see how things had changed in the decade since I had tried PC-Lint.
At this point, we had been compiling at warning level 4 with only a very few specific warnings disabled, and warnings-as-errors forced programmers to abide by it. While there were some dusty reaches of the code that had years of accumulated cruft, most of the code was fairly modern. We thought we had a pretty good codebase.
Coverity
Download
Hacker Monthly #22 by Netizens Media.mobi
Hacker Monthly #22 by Netizens Media.pdf
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Influence: The Psychology of Persuasion by Robert B. Cialdini(4601)
The Miracle Morning by Hal Elrod(4422)
The Hacking of the American Mind by Robert H. Lustig(4084)
Pre-Suasion: A Revolutionary Way to Influence and Persuade by Robert Cialdini(3975)
Unlabel: Selling You Without Selling Out by Marc Ecko(3470)
Ogilvy on Advertising by David Ogilvy(3327)
Hidden Persuasion: 33 psychological influence techniques in advertising by Marc Andrews & Matthijs van Leeuwen & Rick van Baaren(3292)
Purple Cow by Seth Godin(3069)
Who Can You Trust? by Rachel Botsman(3024)
Kick Ass in College: Highest Rated "How to Study in College" Book | 77 Ninja Study Skills Tips and Career Strategies | Motivational for College Students: A Guerrilla Guide to College Success by Fox Gunnar(2998)
This Is Marketing by Seth Godin(2901)
I Live in the Future & Here's How It Works by Nick Bilton(2844)
The Marketing Plan Handbook: Develop Big-Picture Marketing Plans for Pennies on the Dollar by Robert W. Bly(2793)
The Power of Broke by Daymond John(2774)
Building a StoryBrand by Donald Miller(2754)
The 46 Rules of Genius: An Innovator's Guide to Creativity (Voices That Matter) by Marty Neumeier(2678)
Draw to Win: A Crash Course on How to Lead, Sell, and Innovate With Your Visual Mind by Dan Roam(2639)
The Tipping Point by Malcolm Gladwell(2557)
Market Wizards by Jack D. Schwager(2539)
