DocumentCode :
240084
Title :
Near-miss software clones in open source games: An empirical study
Author :
Yaowen Chen ; Keivanloo, Iman ; Roy, Chanchal K.
Author_Institution :
Dept. of Comput. Sci., Univ. of Saskatchewan, Saskatoon, SK, Canada
fYear :
2014
fDate :
4-7 May 2014
Firstpage :
1
Lastpage :
7
Abstract :
Developers tend to reuse source code by copy/paste. This form of reuse introduces code clones to software systems. Cloning in games can happen in different levels of granularity. The extreme case is known as Game Clone where the complete project is being cloned, e.g., by making a new independent branch which the original game´s source code constitutes the seed for the new branch. Although it has been more than two decades since research on code clones started, various characteristics of cloning in open source games has not been studied. Therefore, there is no specific evidence on status of cloning e.g., dominant clone type in games. In this paper, we present an empirical study on code cloning in open source games by applying a state of the art clone detector, NiCad, and a clone visualization and analysis tool, VisCad. We identify both exact and near-miss clones from more than twenty open source C, Java and Python-based games, such as Jake2, Duo, Hexen2, jChess and OpenRPG from five different categories. Furthermore, we analyze a set of metrics for code clones in several different dimensions, including language, category, clone density and clone location to answer six essential research questions about the current status of cloning in open source games. Our research illustrates that cloning happens not only at inter-project level but also intra-project, specifically in First Person Shooter games developed using C (Type-1 50% clones). Such observation concretely shows the necessity of adopting clone management systems for game development.
Keywords :
computer games; public domain software; software reusability; C-based games; Duo game; Hexen2 game; Jake2 game; Java-based games; NiCad detection; OpenRPG game; Python-based games; VisCad tool; clone analysis tool; clone management systems; clone visualization tool; first person shooter games; game development; granularity levels; jChess game; near-miss software clones; open source games; source code reuse; Cloning; Engines; Games; Java; Measurement; Three-dimensional displays; Weapons;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Electrical and Computer Engineering (CCECE), 2014 IEEE 27th Canadian Conference on
Conference_Location :
Toronto, ON
ISSN :
0840-7789
Print_ISBN :
978-1-4799-3099-9
Type :
conf
DOI :
10.1109/CCECE.2014.6901018
Filename :
6901018
Link To Document :
بازگشت