|M.Sc Student||Agbaria Sabih|
|Subject||On Incomplete Bug Fixes and Programmers' Intuition on|
|Department||Department of Computer Science||Supervisor||ASSOCIATE PROF. Joseph Gil|
|Full Thesis text|
Recent studies indicate that multiple patches to software are found in a hefty portion of resolved bugs. It is also known that bugs that require multiple patches take longer to resolve, that their severity tends to be higher than the average and that they induce programmers to engage more in bug discussions.
This work examines programmers' decisions regarding bugs of this sort, and in particular whether fixing these is more likely to be put off later than bugs not requiring multiple fixes.
A mathematical model is developed for a retrospective analysis of bugs' maintenance history. In this model we compute the impact of an array of bug properties on the likelihood that a specific bug is chosen, among all open bugs, to receive its first fix. The studies we conduct on a sizable portion of the history of the Eclipse code base indicate that programmers tend to attend first to bugs which are easier to fix.
The results further suggest that some of the criteria that programmers apply (probably unknowingly) to determine whether a bug is easy to fix, is the number of future patches it would require, and the amount of work involved in these patches. This is despite the fact that this information is not supposed to be available to the programmers at the time the first fix is made.
It is anticipated that the method of analysis introduced in this work would have other applications not only in software engineering, but also outside of computer science.
Indeed, in the work presented in the third part, we apply this same method to reason about whether the inheritance relationship found between software classes follows a well-known phenomena.