{"title":"Tracking clones' imprint","authors":"A. Lozano, M. Wermelinger","doi":"10.1145/1808901.1808910","DOIUrl":"https://doi.org/10.1145/1808901.1808910","url":null,"abstract":"Cloning imprint is the lasting effect of cloning on applications. This paper aims to analyze the clone imprint over time, in terms of the extension of cloning, the persistence of clones in methods, and the stability of cloned methods. Such level of detail requires an improvement in the clone tracking algorithms previously proposed, which is also presented.\u0000 We found that cloned methods are cloned most of their lifetime, cloned methods have a higher density of changes, and that changes in cloned methods tend to be customizations to the clone environment.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133415946","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Finding similar defects using synonymous identifier retrieval","authors":"Norihiro Yoshida, Takeshi Hattori, Katsuro Inoue","doi":"10.1145/1808901.1808908","DOIUrl":"https://doi.org/10.1145/1808901.1808908","url":null,"abstract":"When we encounter a defect in one part of a program, it is very important to find other parts of the program that may contain similar defects. In this paper, we propose a novel system to find similar defects in the large collection of source code. This system takes a code fragment containing a defect as the query input, and returns code fragments containing the same or synonymous identifiers which appear in the input fragment. Case studies with two open source systems and their defect data show the advantages of the proposed retrieval system, compared to the code-clone based retrievals.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"330 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123322890","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Distinguishing copies from originals in software clones","authors":"J. Krinke, N. Gold, Yue Jia, D. Binkley","doi":"10.1145/1808901.1808907","DOIUrl":"https://doi.org/10.1145/1808901.1808907","url":null,"abstract":"Cloning is widespread in today's systems where automated assistance is required to locate cloned code. Although the evolution of clones has been studied for many years, no attempt has been made so far to automatically distinguish the original source code leading to cloned copies. This paper presents an approach to classify the clones of a clone pair based on the version information available in version control systems. This automatic classification attempts to distinguish the original from the copy. It allows for the fact that the clones may be modified and thus consist of lines coming from different versions. An evaluation, based on two case studies, shows that when comments are ignored and a small tolerance is accepted, for the majority of clone pairs the proposed approach can automatically distinguish between the original and the copy.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114190324","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Achieving accurate clone detection results","authors":"Elmar Jürgens, Nils Göde","doi":"10.1145/1808901.1808902","DOIUrl":"https://doi.org/10.1145/1808901.1808902","url":null,"abstract":"Many existing clone detection approaches produce substantial amounts of clones that are irrelevant to software engineers. These false positives significantly hinder adoption of clone detection in practice and can lead to inaccurate research conclusions. In this paper, we propose clone coupling as an explicit criterion for the relevance of clones and outline a method for clone detection tailoring. The results of a large industrial case study indicate that it can significantly increase clone detection accuracy.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122071635","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Hot clones, maintaining a link between software clones across repositories","authors":"Niko Schwarz, Erwann Wernli, Adrian Kuhn","doi":"10.1145/1808901.1808915","DOIUrl":"https://doi.org/10.1145/1808901.1808915","url":null,"abstract":"Code duplication is common in current programming-practice: programmers search for snippets of code, incorporate them into their projects and then modify them to their needs. In today's practice, no automated scheme is in place to inform both parties of any distant changes of the code. As code snippets continues to evolve both on the side of the user and on the side of the author, both may wish to benefit from remote bug fixes or refinements---authors may be interested in the actual usage of their code snippets, and researchers could gather information on clone usage. We propose maintaining a link between software clones across repositories and outline how the links can be created and maintained.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123975696","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
F. Deißenböck, B. Hummel, Elmar Jürgens, M. Pfaehler, B. Schätz
{"title":"Model clone detection in practice","authors":"F. Deißenböck, B. Hummel, Elmar Jürgens, M. Pfaehler, B. Schätz","doi":"10.1145/1808901.1808909","DOIUrl":"https://doi.org/10.1145/1808901.1808909","url":null,"abstract":"Cloned code is considered harmful for two reasons: (1) multiple, possibly unnecessary, duplicates of code increase maintenance costs and, (2) inconsistent changes to cloned code can create faults and, hence, lead to incorrect program behavior. Likewise, duplicated parts of models are problematic in model-based development. Recently, we and other authors proposed multiple approaches to automatically identify duplicates in graphical models. While it has been demonstrated that these approaches work in principal, a number of challenges remain for application in industrial practice. Based on an industrial case study undertaken with the BMW Group, this paper details on these challenges and presents solutions to the most pressing ones, namely scalability and relevance of the results. Moreover, we present tool support that eases the evaluation of detection results and thereby helps to make clone detection a standard technique in model-based quality assurance.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128451854","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards a multi-scale approach for source code approximate match report","authors":"Michel Chilowicz, É. Duris, G. Roussel","doi":"10.1145/1808901.1808919","DOIUrl":"https://doi.org/10.1145/1808901.1808919","url":null,"abstract":"Finding exact clones in source code can be efficiently handled using classical exact substring or subtree pattern matching techniques inspired from genomics applications. These methods may be wisely employed as a foundation to sketch new techniques highlighting duplicated code chunks presenting minor edits or more extensive modifications at a higher structural scale. The main goal is to improve recall of small near matches and to aggregate them into larger ones to provide a more global view of similarities with a reasonable complexity. These concerns are essential to be able to address a large database of source code projects.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130639958","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Are clones harmful for maintenance?","authors":"S. Jarzabek, Yinxing Xue","doi":"10.1145/1808901.1808911","DOIUrl":"https://doi.org/10.1145/1808901.1808911","url":null,"abstract":"We often find clones in semantically related programs parts. This semantic relationship, not clones, is a prime reason for maintenance problems, as semantically related program parts must be changed in sync no matter of clones.\u0000 Only clones resulting from bad design hinder program maintainability. Long-lived essential clones that should not or cannot be eliminated are mostly neutral in respect to maintenance effort, and in some cases even help in maintenance. On the other hand, the presence of such clones signifies program parts that often are more difficult to maintain than clone-free parts.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133937596","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Issues in clone classification for dataflow languages","authors":"N. Gold, J. Krinke, M. Harman, D. Binkley","doi":"10.1145/1808901.1808916","DOIUrl":"https://doi.org/10.1145/1808901.1808916","url":null,"abstract":"While clone detection and classification research for textual source code is well-established, clones in visual dataflow languages have only recently received attention. The accepted existing clone classification framework does not adequately capture the nature of clones in the latter kind of programs. In this article, we propose a new classification framework for clone types that may be found in dataflow programs. It parallels the scheme for textual languages but accounts for the differences in syntax and semantics present in graphical languages.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131374488","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}