Sillito, JonathanAl Baba, Mohamad Samer2012-10-032012-11-132012-10-032012Al Baba, M. S. (2012). Exploring the Usefulness of Version Control Information for Program Comprehension (Master's thesis, University of Calgary, Calgary, Canada). Retrieved from https://prism.ucalgary.ca. doi:10.11575/PRISM/26123http://hdl.handle.net/11023/269Understanding a concern in source code can involve understanding its evolution. This work explores the usefulness of version control system information in supporting program understanding, by analyzing the evolution of twenty different concerns from five open source software projects. Our analysis showed that 66.9% of commits are not helpful for understanding concerns and only 19.5% are very helpful. This result implies that it can be time consuming for programmers to find relevant commits when reviewing a concern history and motivates the need for tool support for ranking commits associated with a concern. Hence, we have explored ranking commits based on a recommender system built on top of a classifier whose input is some commit attributes. The accuracy of such ranking reached 75.5%. The analysis of mis-ranked commits demonstrated that improving on the current results will require a more sophisticated way for determining when a change is conceptually important or unimportant.engUniversity of Calgary graduate students retain copyright ownership and moral rights for their thesis. You may use this material in any way that is permitted by the Copyright Act or through licensing that has been assigned to the document. For uses that are not allowable under copyright legislation or licensing, you are required to seek permission.StatisticsArtificial IntelligenceComputer Scienceprogram comprehensionconcern comprehensionversion control systemssoftware evolutioncommit rankingData MiningMachine LearningclassificationExploring the Usefulness of Version Control Information for Program Comprehensionmaster thesis10.11575/PRISM/26123