Classifying non-regular bugs. (My opinion)
I usually classify non-regular bugs into 3 category.
(*1) : caused by timing. In multi-threaded software, sometimes unexpected execution order - ex. race condition - may raise error.
(*2) : caused by memory corruption. Memory is corrupted by some reasons - this is root cause, and because of this, error is occurred irregularly.
(*3) : caused by using uninitialized data.
Knowing that which category the bug belongs to, is very difficult and usually, only based on developer's experience.
Here one tip comes from my experience.
In case (*2) :
reproducing way itself seems to be very irregular and the representation(result) of crash is also very un-determined.
In case (*3) :
even if reproducing sequence is irregular too, the representation(result) tends to be simlar among cases. Usually, software is crashed from 'wrong memory reference'. And the overall outlook of crash is very regular.
'Essay > Software' 카테고리의 다른 글
[Prog] Do not underestimate costs for refactoring. (0) | 2009.09.04 |
---|---|
[Prog] Step of progress (programming skill). (0) | 2009.08.10 |
[Essay] Overly optimistic schedule... (0) | 2009.04.01 |
[Essay] Test&Debugging Cycle과 Test Engineer의 role에 대한 단상... (0) | 2009.03.11 |
[Dev] Clear description of outcome - submodule, subproject... (0) | 2009.02.15 |