{"title":"Oops! . . . I changed it again","authors":"Nils Göde, Jan Harder","doi":"10.1145/1985404.1985408","DOIUrl":"https://doi.org/10.1145/1985404.1985408","url":null,"abstract":"Duplicated passages of source code-clones-are a threat to software maintenance as modifying duplicated code causes additional change effort and bears the risk of incomplete propagation of changes to all copies. Although previous studies have investigated the consistency and threats of changing clones, changes have always been analyzed detached from another-not considering that individual clones may change more than once during their lifetime. In this paper we present our study on the patterns of consecutive changes to clones in real systems and discuss in how far they are suitable for identifying unwanted inconsistencies.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126623034","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}
Jeffrey C. Carver, Deb Chatterji, Nicholas A. Kraft
{"title":"On the need for human-based empirical validation of techniques and tools for code clone analysis","authors":"Jeffrey C. Carver, Deb Chatterji, Nicholas A. Kraft","doi":"10.1145/1985404.1985416","DOIUrl":"https://doi.org/10.1145/1985404.1985416","url":null,"abstract":"Code clone analysis techniques and tools are popular topics among the software engineering research community. Many studies draw conclusions solely based on an analytical analysis. These claims focus primarily on tool performance in terms of portability, scalability, robustness, precision, and recall. However, these types of analytical studies cannot adequately evaluate the behavior of the developers while using the tools. Human-based empirical studies are complementary to studies based on analytical data because they provide direct insight into developer behavior. In this paper we argue for the need for more humanbased empirical studies in the area of code clone analysis techniques and tools.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"116 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131881804","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}
Michael W. Godfrey, D. Germán, Julius Davies, Abram Hindle
{"title":"Determining the provenance of software artifacts","authors":"Michael W. Godfrey, D. Germán, Julius Davies, Abram Hindle","doi":"10.1145/1985404.1985418","DOIUrl":"https://doi.org/10.1145/1985404.1985418","url":null,"abstract":"Software clone detection has made substantial progress in the last 15 years, and software clone analysis is starting to provide real insight into how and why code clones are born, evolve, and sometimes die. In this position paper, we make the case that there is a more general problem lurking in the background: software artifact provenance analysis. We argue that determining the origin of software artifacts is an increasingly important problem with many dimensions. We call for simple and lightweight techniques that can be used to help narrow the search space, so that more expensive techniques - including manual examination can be used effectively on a smaller candidate set. We predict the problem of software provenance will lead towards new avenues of research for the software clones community.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126081293","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":"Automated type-3 clone oracle using Levenshtein metric","authors":"T. Lavoie, E. Merlo","doi":"10.1145/1985404.1985411","DOIUrl":"https://doi.org/10.1145/1985404.1985411","url":null,"abstract":"Clone detection techniques quality and performance evaluation require a system along with its clone oracle, that is a reference database of all accepted clones in the investigated system. Many challenges, including finding an adequate clone definition and scalability to industrial size systems, must be overcome to create good oracles. This paper presents an original method to construct clone oracles based on the Levenshtein metric. Although other oracles exist, this is the largest known oracle for type-3 clones that was created by an automated process on massive data sets. The method behind the creation of the oracle as well as actual oracles characteristics are presented. Discussion of the results in relation to other ways of building oracles is also provided along with future research possibilities.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131415917","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":"Analyzing web service similarity using contextual clones","authors":"Douglas H. Martin, J. Cordy","doi":"10.1145/1985404.1985412","DOIUrl":"https://doi.org/10.1145/1985404.1985412","url":null,"abstract":"There are several tools and techniques developed over the past decade for detecting duplicated code in software. However, there exists a class of languages for which clone detection is ill-suited. We discovered one of these languages when we attempted to use clone detection to find similar web service operations in service descriptions written in the Web Service Description Language (WSDL). WSDL is structured in such a way that identifying units for comparison becomes a challenge. WSDL service descriptions contain specifications of one or more operations that are divided into pieces and intermingled throughout the description. In this paper, we describe a method of reorganizing them in order to leverage clone detection technology to identify similar services. We introduce the idea of contextual clones -- clones that can only be found by augmenting code fragments with related information referenced by the fragment to give it context. We demonstrate this idea for WSDL and propose other languages and situations for which contextual clones may be of interest.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"123 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134094583","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":"Index-based model clone detection","authors":"B. Hummel, Elmar Jürgens, Daniela Steidl","doi":"10.1145/1985404.1985409","DOIUrl":"https://doi.org/10.1145/1985404.1985409","url":null,"abstract":"Existing algorithms for model clone detection operate in batch mode. Consequently, if a small part of a large model changes during maintenance, the entire detection needs to be recomputed to produce updated cloning information. Since this can take several hours, the lack of incremental detection algorithms hinders clone management, which requires up-to-date cloning information. In this paper we present an index-based algorithm for model clone detection that is incremental and distributable. We present a case study that demonstrates its capabilities, outline its current limitations and present directions for future work.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125047225","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":"Code clone detection experience at microsoft","authors":"Yingnong Dang, Song Ge, Ray Huang, D. Zhang","doi":"10.1145/1985404.1985417","DOIUrl":"https://doi.org/10.1145/1985404.1985417","url":null,"abstract":"Cloning source code is a common practice in the software development process. In general, the number of code clones increases in proportion to the growth of the code base. It is challenging to proactively keep clones consistent and remove unnecessary clones during the entire software development process of large-scale commercial software. In this position paper, we briefly share some typical usage scenarios of code clone detection that we collected from Microsoft engineers. We also discuss our experience on building XIAO, a code clone detection tool, and the feedback we have received from Microsoft engineers on using XIAO in real development settings.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"92 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127730283","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":"Representing clones in a localized manner","authors":"Robert Tairas, Ferosh Jacob, J. Gray","doi":"10.1145/1985404.1985414","DOIUrl":"https://doi.org/10.1145/1985404.1985414","url":null,"abstract":"Code clones (i.e., duplicate sections of code) can be scattered throughout the source files of a program. Manually evaluating group of such clones requires observing each clone in its origina location (i.e., opening each file and finding the source location o each clone), which can be a time-consuming process. As a alternative, this paper introduces a technique that localizes th representation of code clones to provide a summary of th properties of two or more clones in one location. In our approach the results of a clone detection tool are analyzed in an automate manner to determine the properties (i.e., similarities an differences) of the clones. These properties are visualized directl within the source editor. The localized representation is realize as part of the features of an Eclipse plug-in called CeDAR.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115575467","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":"Live scatterplots","authors":"J. Cordy","doi":"10.1145/1985404.1985426","DOIUrl":"https://doi.org/10.1145/1985404.1985426","url":null,"abstract":"Scatterplots have been used to help understand clone relationships in large scale systems since the earliest large system studies more than a decade ago. They often expose interesting patterns of cloning between subsystems and point to opportunities for further analysis. However, the remaining question when such patterns are seen is always, \"but what is that?\" Live scatterplots are aimed at providing an immediate, intuitive answer that can help the analyst to quickly identify and access subsystems and clones involved in a pattern simply by directly pointing at it in the scatterplot. Live scatterplots exploit the table, title and hyperlink tags of standard HTML to provide this ability in any standard browser, without the need for custom frameworks.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121501553","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":"Efficiently handling clone data: RCF and cyclone","authors":"Jan Harder, Nils Göde","doi":"10.1145/1985404.1985427","DOIUrl":"https://doi.org/10.1145/1985404.1985427","url":null,"abstract":"Exchange and inspection of clone information is an essential building block of successful clone management. Until now, a variety of different formats and tools for handling clone data has evolved. This paper presents two of our tools, both of which work closely together. We introduce the Rich Clone Format, which we have developed to standardize and ease the exchange of clone data. Furthermore, we describe our tool cyclone, which fosters the multi-perspective analysis of clone information.","PeriodicalId":374295,"journal":{"name":"International Workshop on Software Clones","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122811117","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}