首页> 外文会议>IEEE Canadian Conference on Electrical and Computer Engineering >Near-miss software clones in open source games: An empirical study
【24h】

Near-miss software clones in open source games: An empirical study

机译:开源游戏中的未遂软件克隆:一项实证研究

获取原文

摘要

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.
机译:开发人员倾向于通过复制/粘贴来重用源代码。这种重用形式将代码克隆引入软件系统。游戏中的克隆可以以不同的粒度级别进行。极端的情况称为游戏克隆,例如通过创建一个新的独立分支来克隆整个项目,该分支由原始游戏的源代码构成新分支的种子。尽管从开始进行代码克隆研究已经过去了二十多年,但尚未研究开源游戏中克隆的各种特征。因此,没有关于克隆状态的具体证据,例如游戏中的显性克隆类型。在本文中,我们通过应用最先进的克隆检测器NiCad和克隆可视化与分析工具VisCad,对开源游戏中的代码克隆进行了实证研究。我们从五种不同类别的20多种基于开源C,Java和Python的游戏(例如Jake2,Duo,Hexen2,jChess和OpenRPG)中识别出精确和几乎未命中的克隆。此外,我们分析了几个不同维度的代码克隆指标,包括语言,类别,克隆密度和克隆位置,以回答关于开源游戏中克隆现状的六个基本研究问题。我们的研究表明,克隆不仅发生在项目之间,而且发生在项目内部,特别是在使用C(Type-1 50%克隆)开发的第一人称射击游戏中。这种观察具体表明了采用克隆管理系统进行游戏开发的必要性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号