The actual paper (http://www.se.rit.edu/~mei//publications/publications/FSE201...) is far more interesting that the linked post. The conclusions that goto is mainly used for cleanup and error handling isn't surprising. However, the study doesn't include the Linux Kernel or other kernels.