I have been spending endless nights in debugging the UMTS extension to ns2, which the simulator for my thesis work. Ns2 is an open source freeware, one of the two most used simulation softwares for analyzing network preformence. The only other alternative is Opnet, a commercial product that no student can afford and not popular enough to have pirate copy to download. I don’t want to work on the slow servers in the stinky school’s lab, therefore I choose ns2 for my work. The core of ns2 is relatively stable, other than lack of documentation, it is fairly good. Alas, the UMTS extension is poorly maintained. The original coder of that module only debug it for his own research. It still has lots of holes in the logics. Worse, there is absolutely no document on implemenation, I can only guess the function of the code and try to fix it. I found to debug hardware is easier debug than software. The major problem in debugging software is I can’t have the wavefrom traced. I can’t run the simulation all the way till the end and then check the state changes back in the timeline. Instead, I have to set breakpoints and step throught the code carefully. This is a very time consuming and repeatitive task.