Skip to main content

2012 | Buch

Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code

insite
SUCHEN

Über dieses Buch

YOU HAVE TO OWN THIS BOOK! Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code takes an unflinching, no bulls$&# look at behavioral problems in the software engineering industry, shedding much-needed light on the social forces that make it difficult for programmers to do their job. Do you have a co-worker who perpetually writes bad code that you are forced to clean up? This is your book. While there are plenty of books on the market that cover debugging and short-term workarounds for bad code, Reverend Bill Blunden takes a revolutionary step beyond them by bringing our attention to the underlying illnesses that plague the software industry as a whole.

Further, Software Exorcism discusses tools and techniques for effective and aggressive debugging, gives optimization strategies that appeal to all levels of programmers, and presents in-depth treatments of technical issues with honest assessments that are not biased toward proprietary solutions.

Inhaltsverzeichnis

Frontmatter
CHAPTER 1. Preventative Medicine
Abstract
The role of the maintenance engineer is to exorcise the evil spirits that dwell in legacy software. Day and night, maintenance engineers are beset upon, and spited, as they forge a lonely path through the corporate landscape. Every day, they face the challenge of
  • Repairing bugs
  • Improving performance
The first four chapters of this book are devoted to looking at the first task. The final two chapters of this book deal with the second task.
Bill Blunden
CHAPTER 2. Debugging Tactics
Abstract
The general predicament is as old as programming itself: an application is malfunctioning and it’s your job to fix it. Naturally, the best person to fix an application is the original author. The majority of maintenance engineers, however, don’t have this distinction. Topically, their boss hands them a program that someone else wrote three years ago, and they have to start from the very bottom of the learning curve.
Bill Blunden
CHAPTER 3. Understand the Problem
Abstract
In order to fix a bug in a program, you have to “understand the problem.” This is another way of saying that you need to understand
  • The program’s requirements
  • How the program implements those requirements
Bill Blunden
CHAPTER 4. Debugger Internals
Abstract
In Chapter 2,1 presented a short tutorial on using the GNU debugger. This chapter is dedicated to those curious souls who yearn to look under the hood and see how debuggers actually work. I will begin by discussing the different types of debuggers and then showing you how they perform basic debugging tasks (e.g., breakpoints and single stepping). Later on in the chapter, we will look more closely at symbolic debuggers and I will offer suggestions with regard to how they can be implemented. For those engineers interested in protecting intellectual property, I will end the chapter with a collection of techniques that can be used to thwart reverse-engineering tools.
Bill Blunden
CHAPTER 5. Optimization: Memory Footprint
Abstract
In the beginning of the book, I stated that two prototypical tribulations beset the maintenance engineer:
  • Repairing bugs
  • Improving program performance
Bill Blunden
CHAPTER 6. Optimization: CPU Cycles
Abstract
A program has two basic resources at its disposal:
  • Processor time (i.e., CPU cycles)
  • Memory
In this chapter, I will demonstrate ways to make efficient use of processor time—which is to say that I’ll show you ways to make your program do the most, in the smallest amount of time, by pruning away unnecessary operations.
Bill Blunden
CHAPTER 7. Final Words of Advice
Abstract
Back in 1990,1 took an introductory political science course taught by Theodore Lowi and Ben Ginsberg. It was one of those classes where they crammed 500 students into an auditorium. Class felt more like a circus than a lecture. I distinctly remember the last day of class. Ginsberg walked up to the lectern and announced, “Up until now, there probably hasn’t been anyone who has been out to get you. This will change the minute you graduate and go out into the real world
Bill Blunden
Backmatter
Metadaten
Titel
Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code
verfasst von
Bill Blunden
Copyright-Jahr
2012
Verlag
Apress
Electronic ISBN
978-1-4302-5108-8
Print ISBN
978-1-4302-5107-1
DOI
https://doi.org/10.1007/978-1-4302-5108-8

Premium Partner