Abstract
Software repositories are used for many purposes like version control, source code management, bug and issue tracking and change log management. GitHub is one of the popular software repositories. GitHub contains commit history of software that lists all changes recorded in the software system, but it does not classify the changes according to the reason for change. In this study a mechanism for extraction and classification of changes is proposed and Git Change Classifier (GCC) tool is developed. The tool uses regular expression to extract changes and employs Text Mining to determine the type of change. GCC Tool reports the year-wise number of changes for a file and classifies the changes into three types: (a) Bug Repairing Changes (BRC), (b) Feature Introducing Changes (FIC) and (c) General Changes (GC). This classification is useful for predicting the effort required for new changes, tracking the resolution of bugs in software and understanding the evolution of the software as it may depend on the type of change.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Xie, S., Khomh, F., & Zou, Y. (2013, May). An empirical study of the fault-proneness of clone mutation and clone migration. In Proceedings of the 10th Working Conference on Mining Software Repositories (pp. 149–158). IEEE Press.
Mani, S., Nagar, S., Mukherjee, D., Narayanam, R., Sinha, V. S., & Nanavati, A. A. (2013, May). Bug resolution catalysts: Identifying essential non-committers from bug repositories. In Proceedings of the 10th Working Conference on Mining Software Repositories (pp. 193–202). IEEE Press.
Vandecruys, O., Martens, D., Baesens, B., Mues, C., De Backer, M., & Haesen, R. (2008). Mining software repositories for comprehensible software fault prediction models. Journal of Systems and software, 81(5), 823–839.
Spinellis, D., Gousios, G., Karakoidas, V., Louridas, P., Adams, P. J., Samoladas, I., & Stamelos, I. (2009). Evaluating the quality of open source software. Electronic Notes in Theoretical Computer Science, 233, 5–28.
D’Ambros, M., & Lanza, M. (2010). Distributed and collaborative software evolution analysis with churrasco. Science of Computer Programming, 75(4), 276–287.
Malhotra, R., & Agrawal, A. (2014). CMS tool: calculating defect and change data from software project repositories. ACM SIGSOFT Software Engineering Notes, 39(1), 1–5.
Bajracharya, Sushil, Joel Ossher, and Cristina Lopes. “Sourcerer: An infrastructure for large-scale collection and analysis of open-source code.” Science of Computer Programming 79 (2014): 241–259.
Hassan, A. E. (2009, May). Predicting faults using the complexity of code changes. In Proceedings of the 31st International Conference on Software Engineering (pp. 78–88). IEEE Computer Society.
Junker, Markus, Rainer Hoch, and Andreas Dengel. “On the evaluation of document analysis components by recall, precision, and accuracy.” Document Analysis and Recognition, 1999. ICDAR’99. Proceedings of the Fifth International Conference on. IEEE, 1999.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Singapore Pte. Ltd.
About this paper
Cite this paper
Kaur, A., Chopra, D. (2018). GCC-Git Change Classifier for Extraction and Classification of Changes in Software Systems. In: Hu, YC., Tiwari, S., Mishra, K., Trivedi, M. (eds) Intelligent Communication and Computational Technologies. Lecture Notes in Networks and Systems, vol 19. Springer, Singapore. https://doi.org/10.1007/978-981-10-5523-2_24
Download citation
DOI: https://doi.org/10.1007/978-981-10-5523-2_24
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-10-5522-5
Online ISBN: 978-981-10-5523-2
eBook Packages: EngineeringEngineering (R0)