Bug Fixing

Recently I determined how to duplicate a tough bug. Normally as soon as I can duplicate a bug, I can code a fix right away. However this problem is proving very difficult to fix. I understand what the software is supposed to do. But I am finding it very difficult to locate where I should code the change to fix the software.

The problem I am encountering is mostly due to the fact that there is a lot of abstracted code in the part of the application that is broken. No wonder the thing does not function correctly. This is a maintenance nightmare. In essence, many of the variables are packed up into different structures (or objects), and they are passed back and forth and copied a lot.

To make matters worse, a lot of conversions between the structures are happening. And the changes are supposed to be committed to the database. But it appears like the correct changes are not getting committed. I can appreciate some separation of user interface and business objects. That would be good design in general. But I am digging into multiple layers of business objects. This is no fun at all.

My team lead read my latest status report. I was making some strong advances in our new development. He asked me why I was spending any time fixing bugs. I replied that he told me to. He then said this was not what I was supposed to do. So I happily put the nasty bug fixing aside for easier tasks. I imagine these bugs need to be fixed eventually. My team lead approached the management team to see when exactly we need to deliver fixes to the bugs that have been reported.