著者
Anfernee Goon Yuhao Wu Makoto Matsushita Katsuro Inoue
雑誌
ソフトウェアエンジニアリングシンポジウム2016論文集
巻号頁・発行日
vol.2016, pp.255-256, 2016-08-24

A code clone is a fragment of code which is duplicated throughout the source code of a project and have been shown to make a project less maintainable because all code clones will share potential bugs and problems. This study analyzes the code clone ratios over the entire development lifetime of Git, a widely used open-source project written in C/C++ to understand development habits and the changing maintainability of the software. The study utilizes bash scripting in conjunction with CCFinderX and GitHub to automate the detection of clones across development history. The results showed very stable ratios across development history, with the code clone ratios only fluctuating greatly during the beginning of development mostly, which can imply design choices not being concrete during the beginning of development as well as considerably more functionality being added at the beginning of development relative to the rest of the development cycle. Overall, the clone ratios over the development of Git has given some insight on the different aspects of the development process such as refactoring and how Git handles such aspects. Developers should be able to improve on their approach to development and increase their software’s maintainability by looking at code clone ratios over the version evolution of their own projects.