miércoles, 27 de febrero de 2019

The Secret Life of bugs - some thoughts

As a developer I believe I spend around 75% of the time at my work and academic projects solving bugs. Jorge Aranda in this paper taught me that it is not just me, I might be pretty bad at design but seems like bugs are something that is so big in the software industry that there are databases exclusively dedicated to keep track of bugs. This is something new to me and I was a bit amused that bugs would come out to such extend. And of course if the bug deal is one so big, it naturally becomes harder to keep track easily of them as Jorge shows later on the paper. If I have something in common with Microsoft is that I am able to fix within 10 minutes almost every bug I come across on my code, however bugs that are not easily reproducible by placing print statements around or bugs that are created due to my own poor design, are the ones that I tend to slack or partially fix until I leave them unfixed. If my programs were used as much as a Microsoft program would all of my bugs would eventually show up. And yes I also feel related that a lot of the loosing track of a bug comes from is mostly due to the human factor. I've recently got my very first job as a developing and I finding it ridiculously annoying to keep proper documentation of the functionalities of my code. As much as I love typing my commit messages in a console document editor, it seems like every time I go back there is something wrong or missing, I either should have opened a different branch and made some commits there then merge rename etc. It seems just impossible for me as a human developer to now have to keep a careful and close look at my bugs, and makes total sense that if you take all of the developers in a big company and multiply each tiny mistake of documentation over a bug it seems to be something that you just can`t deal with. At the end the paper seems to come up to the fact that we screw up too much in taking care of out bugs and their respective meta-data that it would even be impossible to automated processes and algorithms to follow up on where did they originated.