Code and Model based Clone Detection Approaches Aastha Saini , Vivek Sharma

advertisement
International Journal of Engineering Trends and Technology (IJETT) – Volume22 Number 6- April 2015
Code and Model based Clone Detection Approaches
Aastha Saini#1, Vivek Sharma*2
#M.TECH
& *HOD, Computer Science & Engineering Department&
JMIT, Radaur/ Kurukshetra University, India
Abstract—Programmers often copy code fragments or other
design documents and paste it with or without modification.
These types of similar code fragments or design documents are
known as software clone. Cloned code is considered harmful for
various reasons. A clone contains multiple and unnecessary
duplicates fragments of code. Due to clones maintenance costs
are increased. They make software products inconsistent as
making changes to a cloned code can create faults and lead to
unexpected behavior. Similarly, Duplicated fragments and parts
of models are also harmful in model-based development such as
UML Model.
Keywords—UML Domain Models, Model Clones, Clone
Detection, UML Parsing
I. INTRODUCTION
Programmers often copy code fragments or other design
documents and paste it with or without modification. These
types of similar code fragments or design documents are
known as software clone [1]. In previous reports it is found
that the total amount of software cloning in software system
ranges from 5-15% and can be even 50 % of code base. If any
code fragment contains a bug and all the other fragments that
are copied from it may also suffer from the same problem.
Thus clones are considered as “bad smell” in software
product and produce project maintenance difficult. So that
clone evolution analysis has also become an important part of
managing code clones.
There are various reasons of occurrence of clones in the
software. Developers create the clones to meet project
deadlines because they may not have enough time to create
proper abstractions. Developers may also create clones to
solve the same problem that encountered before. Sometimes
clones are created to obtain maintenance such as to avoid risk
in developing new code.
II. CLASSIFICATON
A. Code Clone
According to the definition of similarity if two code
fragments that are similar to each other are called clones to
each other. The similarity between the fragments can be
defined by textual representation or on their functionality
representation code clones can be defined further four
categories.
ISSN: 2231-5381
Source code clones are copies or near-copies of other
portions of code, often created by copying and pasting
portions of source code. This working session is concerned
with building a communal research infrastructure for clone
detection. The intention of this working session is to try to
build a consensus on how to continue to build a benchmark
suite and results archive for clone and source comparisonrelated research and development. The working session is
structured to foster discussion and debates over what should
be collected in the archive, and how to make it best to
improve clone detection research techniques.
The copying of code has been studied within software
engineering mostly in the area of clone analysis. Software
clones are regions of source code which are highly similar;
these regions of similarity are called clones, clone classes, or
clone pairs.
Figure 1 An Example of Code Clones
While there are several reasons why two regions of code may
be similar, the majority of the clone analysis literature
attributes cloning activity to the intentional copying and
duplication of code by programmers; clones may also be
attributable to automatically generated code, or the
constraints imposed by the use of a particular framework or
library.
Cloning is the unnecessary duplication of data whether it is at
design level or at coding level. It results to excessive
maintenance costs as well. So cut paste programming form of
software reuse deceivingly raise the number of lines of code
without expected reduction in maintenance costs associated
with other forms of reuse.
http://www.ijettjournal.org
Page 246
International Journal of Engineering Trends and Technology (IJETT) – Volume22 Number 6- April 2015
The reasons why programmers duplicate codes include the
following reasons:
1. Making a copy of a code fragment is simpler and faster
than writing the code from scratch. Also the fragment
may already be tested so the introduction of a bug seems
less likely.
2. Evaluating the performance of a programmer by the
amount of code he or she produces gives a natural
incentive for copying code.
Efficiency considerations may make the cost of a procedure
call or method invocation seems too high a price. In industrial
software development contexts, time pressure together with
first and second points lead to plenty of opportunities for
code duplication [4].
which may or may not be clones. The reference Model
(Package) has two internal packages defined in the main
Package called “Banking”.
One Package is ATM and another package is Accounts. The
ATM Internal Package shows relationship/Dependencies with
Account Package. Both Packages have different-2 classes.
The Classes of ATM Internal Package also shows
relationship with Classes of Account Package.
On the other hand, there are two occurrences of Classes
named “ATM”, so “ATM” is definitely a clone candidate.
D.Possible Model Clone (Candidate)
B. Model Clones
Model clones are duplicate fragments of Architecture of
Model of the project. It is difficult to formulate the actual
definition of a model clone because of the abstract nature of a
model. We can however define a model clone as a set of
similar or identical fragments in a model. As an Example, we
can illustrate a model clone in Fig. 2 and 3:
This phenomenon occurs similarly in models, suggesting that
model clones are as detrimental to model quality as they are
to code quality. However, programming language code and
visual models have significant differences that make it
difficult to directly transfer notions and algorithms developed
in the code clone arena to model clones. The structural clone
analysis [3] extends the benefits of analysis based on simple
clones in the areas of program understanding, maintenance,
reuse, and refactoring.
Figure 3 Depiction of Reference Model Clones in UML 2.0 Package
Diagram
E.Possible Model Clone (Candidate)
C.Reference Model
Figure 4 A Possible Model Clone in UML 2.0 Package Diagrams
It is still not obvious, though, which reference in the diagram
refers to which model element, or whether they refer to the
same model element or not. To external viewers, who are
often equating models and diagrams, this model element will
be invisible. Four major challenges regarding model clones
are:
Figure 2 Depiction of Reference Model Clones in UML 2.0 Package
Diagram
Looking at the Package Diagrams, we can easily see that
there both Models are abstraction of ATM banking model,
ISSN: 2231-5381
1.
2.
Understand the structure of real clones and derive a
practical definition of model clones.
Quantitatively analyze the structure of medium to large
scale models and develop method to detect clones.
http://www.ijettjournal.org
Page 247
International Journal of Engineering Trends and Technology (IJETT) – Volume22 Number 6- April 2015
3.
4.
Derive a formal framework for model clones and
develop an algorithm detect clones in models of realistic
size and structure.
Implement the algorithm and method, balancing
precision and recall against acceptable run time.
III. WHY THERE IS CLONING IN SOFTWARE
SYSTEMS
In general, software systems contain a significant amount of
cloned code and the amount of cloning varies depending on
the domain and origin of software systems. There are various
factors for which clones can be introduced in a system.
Developers may create clones to meet project deadlines
because they may not have enough time to create proper
abstractions or the short-term cost of creating those
abstractions may outweigh the benefits of creating the
duplicated code [4]. Developers may also create clones to
solve the same problems they encountered before but
reluctant to do abstraction because they do not understand the
solution, do not have enough time or simply because they do
not care about the impact of making clones. Many authors
have identified a set of cases that makes the abstraction costly
and leads programmers to leave the cloned code instead.
Some identified a set of cloning patterns that explain the
motivation of cloning, and also listed their advantages and
disadvantages. A comprehensive list of factors that introduce
cloning can be found in the survey by Roy and Cordy[5] .
They categorized the reasons for cloning in the following
four groups.
IV. RELATED WORK
Saha, R.K. et al, 2011 [6] The authors delineate Obtaining
program clone genealogies across several editions of a plan
and categorizing them according to their change outlines
underlies the discover of program clone evolution. As there
are a insufficient studies in the span, the ways do not grasp
near-miss clones well and the associated instruments are
frequently computationally expensive. To address these
limitations, they present a framework for automatically
removing both precise and near-miss clone genealogies
across several editions of a plan and for recognizing their
change outlines employing a insufficient key similarity
factors. They have industrialized a prototype clone genealogy
extractor, requested it to three open basis undertakings
encompassing the Linux Kernel, and assessed its accuracy in
words of precision and recall. Their experience displays that
the prototype is scalable, flexible to disparate clone detection
instruments and can automatically recognize progress
outlines of both precise and near-miss clones by constructing
their genealogies.
Uddin, M.S. et al., 2011 [7] The authors delineate Clone
detection methods vitally cluster textually, syntactically
ISSN: 2231-5381
and/or semantically comparable program fragments in or
across multimedia systems. For colossal datasets, similarity
identification is expensive both in words of period and
recollection, and exceptionally so after noticing near-miss
clones whereas lines might be adjusted, added and/or deleted
in the duplicated fragments. The skill and effectiveness of a
clone detection instrument generally depends on the program
similarity measurement method it uses. A collection of
similarity measurement ways have been utilized for clone
detection, encompassing fingerprint established ways that
have had fluctuating degrees of accomplishment
notwithstanding a little limitations. In this paper, they
examine the effectiveness of simhash, a state of the fine art
fingerprint established data similarity measurement method
for noticing both precise and near-miss clones in colossal
scale multimedia systems. Their experimental data display
that simhash is indeed competent in recognizing assorted
kinds of clones in a multimedia arrangement even though
expansive variations in experimental circumstances. The way
is additionally suitable as a core skill for constructing
supplementary instruments, such as instruments for:
incremental clone detection, program hunting, and clone
management.
Barbour, L. et al., 2011 [8] The authors delineate Two
comparable program segments, or clones, form a clone pair
inside a multimedia system. The adjustments to the clones
above period craft a clone progress history. In this work they
discover late propagation, a specific outline of clone
evolution. In late propagation, one clone in the clone pair is
adjusted, provoking the clone pair to come to be inconsistent.
The program segments are next re-synchronized in a
afterward revision. Continuing work has instituted late
propagation as a clone progress outline, and counseled that
the outline is connected to a elevated number of faults. In this
discover they scrutinize the characteristics of late propagation
in two long-lived multimedia arrangements employing the
Simian and CCFinder clone detection tools. They delineate 8
kinds of late propagation and difference them to
supplementary forms of clone evolution. Their aftermath not
merely confirm that late propagation is extra harmful to
multimedia arrangements, but additionally institute that a
little specific cases of late propagations are extra harmful
than others. Specifically, two cases are most risky: (1) after a
clone experiences inconsistent adjustments and next a resynchronizing change lacking each modification to the
supplementary clone in a clone pair; and (2) after two clones
experience an inconsistent modification pursued by a resynchronizing change that modifies both the clones in a clone
pair.
Nguyen HoanAnh et al, in 2012 [9] The authors delineate
Current scrutiny aftermath counsel a demand for program
clone management. In this paper, they familiarize JSync, a
http://www.ijettjournal.org
Page 248
International Journal of Engineering Trends and Technology (IJETT) – Volume22 Number 6- April 2015
novel clone association tool. JSync provides two main
purposes to prop developers in being cognizant of the clone
relation amid program fragments as multimedia arrangements
evolve and in making consistent adjustments as they craft or
adjust cloned code. JSync embodies basis program and clones
as (sub) trees in Hypothetical Syntax Trees; measures
program similarity established on structural characteristic
vectors, and describes program adjustments as tree editing
scripts. The key methods of JSync contain the algorithms to
compute tree editing scripts, to notice and notify program
clones and their clusters, to examine the adjustments of
cloned program to validate their consistency, and to counsel
relevant clone synchronization and merging. Their empirical
discover on countless real-world arrangements displays that
JSync is effectual and precise in clone detection and
notifying, and provides the correct detection of the defects
emerging from inconsistent adjustments to clones and the
correct recommendations for change propagation across
cloned code.
HaraldStörrle et al., 2013 [10] In this paper program
clones (i.e., duplicate fragments of code) have been learned
for long, and there is forceful facts that they are a main cause
of multimedia faults. Anecdotal facts suggest that this
phenomenon occurs comparably in models, counseling that
ideal clones are as detrimental to ideal quality as they are to
program quality. Though, software design speech program
and discernible models have momentous contrasts that make
it tough to undeviatingly transfer notions and algorithms
industrialized in the program clone arena to ideal clones. In
this article, they develop and counsel a meaning of the
believed of “model clone” established on the methodical
scrutiny of useful scenarios. They counsel a proper meaning
of ideal clones, enumerate a clone detection algorithm for
UML area models, and apply it prototypically. They examine
disparate similarity heuristics to be utilized in the algorithm,
and report the presentation of their approach. As they trust
that their way advances the state of the fine art considerably,
it is restricted to UML models, its aftermath departs room for
improvements, and there is no validation by earth studies.
Zhang Gang et al., in 2013 [11] The authors delineate
Competent clone association is vital for developers to
understand the introduction and progress of program clones,
to judge their encounter on multimedia quality, and to seize
appropriate measures if required. Their preceding discovers
displays that cloning exercise is not plainly a technical issue.
It has to be elucidated and believed in a larger context from
technical, confidential, and organizational perspectives. In
this paper, they counsel a contextual and on-demand program
clone association way shouted CCEvents (Code Cloning
Events). Their way provides timely notification concerning
relevant program cloning events for disparate stakeholders
across constant monitoring of program repositories. It
ISSN: 2231-5381
supports on-demand customization of clone monitoring
strategies in specific technical, confidential, and
organizational contexts employing a domain-specific
language. They requested the counseled way and led an
empirical discovers alongside a manufacturing project. The
aftermath confirm the necessities for contextual and ondemand program clone association and display the
effectiveness of CC Events in bestowing timely program
cloning notifications and in helping to accomplish competent
clone management.
XieShuai et al., 2013 [12] The authors delineate After
requesting new features into a multimedia arrangement,
developers could duplicate countless lines of program to
reuse a little continuing program segments. This deed creates
program clones in the multimedia system. The works has
documented disparate kinds of program clone (e.g., Type-1,
Type-2, and Type-3). After crafted, program clones evolve as
they are adjusted across both the progress and maintenance
periods of the multimedia system. The progress of program
clones across the revisions of a multimedia arrangement is
recognized as a clone genealogy. Continuing work has
investigated the fault-proneness of Type-1 and Type-2 clone
genealogies. In this discover, they examine clone genealogies
encompassing Type-3 clones. They examine three long-lived
multimedia arrangements Apache-Ant, ArgoUML, and
JBoss, that are all composed in Java. Employing the NiCad
clone detection instrument, they craft clone genealogies and
scrutinize two evolutionary phenomena on clones: the
mutation of the kind of a clone across the progress of a
arrangement, and the migration of clone segments across the
repositories of a multimedia system. Aftermath display that
1) mutation and migration transpire oftentimes in multimedia
systems; 2) the mutation of a clone cluster to Type-2 or Type3 clones increases the chance for faults; 3) rising the distance
amid program segments in a clone cluster additionally
increases the chance for faults.
R.K. Saha, et al, 2013 [13] The authors delineate
Understanding the progress of clones is vital both for
understanding the maintenance implications of clones and
constructing a robust clone association system. To this
conclude, researchers have by now led a number of studies to
examine the progress of clones, generally concentrating on
Type-1 and Type-2 clones. Though, even though there are a
momentous number of Type-3 clones in multimedia
arrangements, they understand a slight how they truly evolve.
In this paper, they present an exploratory discover on the
progress of Type-1, Type-2, and Type-3 clones in six open
basis multimedia arrangements composed in two disparate
software design tongues and difference the consequence
alongside a preceding discover to larger comprehend the
progress of Type-3 clones. Their aftermath display that even
though Type-3 clones are extra probable to change
http://www.ijettjournal.org
Page 249
International Journal of Engineering Trends and Technology (IJETT) – Volume22 Number 6- April 2015
inconsistently, the definite number of consistently modified
Type-3 clone classes is higher than that of Type-1 and Type2. Type-3 clone classes additionally have a lifespan
comparable to that of Type-1 and Type-2 clones. In
supplement, a substantial number of Type-1 and Type-2
clones change into Type-3 clones across evolution.
Therefore, it is vital to grasp type-3 clones properly to check
their negative impact. Though, assorted automated clone
association methods such as notifying developers concerning
clone adjustments or related editing ought to be selected
prudently due to the inconsistent nature of Type-3 clones.
S. Schulze et al, in 2013 [14] The authors delineate
Program clones are a public reuse mechanism in multimedia
development. As there is an ongoing discussion concerning
harmfulness and gains of program cloning, this discussion is
generally concentrated concerning aspects of multimedia
quality. Though, present scrutiny has shown that program
cloning could have lawful implications as well such as
license violations. From this point of think, a builder could
favor to obscure his cloning activities. To this conclude, he
might obfuscate the cloned program to mislead clone
detectors. Though, it is unfamiliar how robust precise clone
detection methods are opposing program obfuscations. In this
paper, they present a framework for semi-automated program
obfuscations. Additionally, they present a case discovery to
assess the robustness of selected clone detectors opposing
such obfuscations.
I. Keivanloo et al, 2013 [15] The authors delineate they
familiarize semantic-enabled clone detection, as an way that
emphasizes on significance of the token semantics across the
outline matching for clone detection. This way can be
comprehended employing Semantic Web and its prop for
vision modeling. As the Semantic Web has discovered
expansive agreement in assorted request and scrutiny areas, it
yet needs the alike agreement in the basis program scrutiny
domain. In this paper they focus on how the Semantic Web
and its prop for semantic modeling and vision retrieval can be
requested towards basis program clone detection and search.
They debate both, open trials in the basis program clone
detection area, as well as both hypothetical and useful aspects
on how the Semantic Web can address a little of these
challenges.
Svajlenko, J. et al, 2013 [16] The authors delineate
Noticing clones from colossal datasets is an interesting
scrutiny case for a number of reasons. Though, constructing
scalable clone detection instruments is challenging and it is
frequently impossible to use continuing state of the fine art
instruments for such colossal datasets. In this scrutiny they
have investigated the use of their Shuffling Framework for
scaling classical clone detection instruments to ultra colossal
datasets. This framework achieves scalability on average
ISSN: 2231-5381
hardware by partitioning the dataset and shuffling the
partitions above a number of detection rounds. This way does
not need modification to the subject instruments, that permits
their individual strengths and precisions to be seized at an
satisfactory defeat of recall. In their discovery, they
discovered the presentation and applicability of their
framework for six clone detection tools. The clones
discovered across their examination were utilized to comment
on the cloning customs of the globe Java open-source
progress community.
Cho Kwantae et al., 2013 [17] The authors delineate
Wireless sensor webs (WSNs) encompass of puny sensor
nodes that converse alongside every single supplementary
above wireless channels, frequently in a hostile nature
whereas nodes can be seized and compromised.
Consequently, an antagonist could raise a clone attack by
replicating the seized nodes to increase the compromised
spans retaining clones. Thus, it is critical to notice clone
nodes punctually for minimizing their damage to WSNs.
Recently; assorted clone detection schemes were counseled
for WSNs, pondering disparate kinds of web configurations,
such as mechanism kinds and placement strategies. In order
to select a competent clone detection scheme for a given
sensor web, the selection criteria plays a vital role. In this
paper, they early examine the selection criteria of clone
detection schemes alongside stare to mechanism kinds,
detection methodologies, placement strategies, and detection
ranges. They next categorize the continuing schemes
according to the counseled criteria. Simulation examinations
are led to difference their performances. It is finished that it is
helpful to use the grid placement vision for static sensor
networks; the scheme employing the grid placement vision
can save power by up to 94.44% in comparable presentation
(specifically in words of clone detection ratio and the
completion time), as contrasted to others. On the
supplementary hand, for mobile sensor webs, no continuing
way works effectually in cutting detection error rate
Roy C.K. et al, 2014 [18] The authors delineate
Duplicated program or program clones are a kind of program
odor that have both affirmative and negative encounters on
the progress and maintenance of multimedia systems.
Multimedia clone scrutiny in the past generally concentrated
on the detection and scrutiny of program clones, as scrutiny
in present years extends to the finished spectrum of clone
management. In the last decade, three surveys materialized in
the works that cover the detection, scrutiny, and evolutionary
characteristics of program clones. This paper presents a
comprehensive survey on the state of the fine art in clone
association, alongside in-depth investigation of clone
association hobbies (e.g., drawing, refactoring, and costbenefit analysis) beyond the detection and analysis. This is
the early survey on clone association, whereas they point to
http://www.ijettjournal.org
Page 250
International Journal of Engineering Trends and Technology (IJETT) – Volume22 Number 6- April 2015
the attainments so distant, and expose avenues for more
scrutiny vital towards a consolidated clone association
system. They trust that they have completed a good job in
surveying the span of clone association and that this work
could assist as a roadmap for upcoming scrutiny in the area.
XieShuai et al., 2014 [19] The authors delineate Duplicate
and glue hobbies craft clone clusters in multimedia systems.
The progress of a clone cluster across the past of a
multimedia arrangement is termed as clone genealogy.
Across the progress of a clone cluster, developers could
change the locale of the program fragments in the clone
group. The kind of the clone cluster could additionally
change (e.g., from Type-1 to Type-2). These two phenomena
have been denoted to as clone migration and clone mutation
respectively. Preceding studies have discovered that clone
migration transpire oftentimes in multimedia arrangements,
and counseled that clone migration can instigate faults in a
multimedia system. In this paper, they scrutinize how clone
migration phenomena alter the chance for faults in clone
segments, clone clusters, and clone genealogies from three
long-lived multimedia arrangements JBoss, APACHE-ANT,
and ARGOUML. Aftermath display that: (1) traveled clone
segments, clone clusters, and clone genealogies are not
equally fault-prone; (2) after a clone mutation occurs across a
clone migration, the chance for faults in the traveled clone is
increased; (3) traveling a clone that was not modified for a
longer era of period is risky.
Mandal, M. et al., 2014 [20] In this paper, they present an
in-depth empirical discover on recognizing clone fragments
that can be vital refactoring candidates. They mine
association laws amid clones in order to notice clone
fragments that fit in to the alike clone class and have a
tendency of changing jointly across multimedia evolution.
The believed is that if two or extra clone fragments from the
alike class frequently change jointly (i.e., are probable to cochange) maintaining their similarity, they could be vital
candidates for refactoring. Merging such clones into one (if
possible) can potentially cut upcoming clone maintenance
effort. They delineate a particular clone change outline, the
Similarity Maintaining Change Outline (SPCP), and ponder
the cloned fragments that modified according to this outline
(i.e., the SPCP clones) as vital candidates for refactoring. For
the intention of their discovery, they apply a prototype
instrument shouted MARC that identifies SPCP clones and
mines association laws amid these. The laws as well as the
SPCP clones are ranked for refactoring on the basis of their
change-proneness. They requested MARC on thirteen subject
arrangements and retrieved the refactoring candidates for
three kinds of clones (Type 1, Type 2, and Type 3)
separately. Their experimental aftermath display that SPCP
clones can be believed vital candidates for refactoring. By
pondering SPCP clones for refactoring them not merely can
ISSN: 2231-5381
minimize refactoring power considerably but additionally can
cut the potential of postponed synchronizations amid clones
and therefore, can minimize inconsistencies in multimedia
systems.
Mansi Aggarwal et al., 2013[21] This paper presents how
the different software metrics can be utilized for measuring
the software characteristics. The parameters for the OO
Design are explained. The metrics present a guideline for the
software quality and other characteristics. With the
measurements of the software it becomes easy for the
maintenance of the software.
V. CONCLUSION AND FUTURE WORKS
Clone detection techniques play an important role in software
evolution research where attributes of the same code entity
are observed over multiple versions. To successfully create
any method or technique for model clones detection we will
have to study all the models and their metrics in component
bases systems. This paper reviewed some of the techniques
available for the Model Clone Prevention and Detection. We
will like to find out some of techniques for detecting clones
that work well for Model clones and we to be able to detect
software clone for the same. In future we will focus on
automated techniques for suggesting software cloning,
delimiting boundaries between modules that minimize
cohesion while maximizing coupling between analyzed
Components. We propose the use of C. K. Metrics for
detecting Clones in the Software Projects. Our approaches
allow us the utilities by which we can visualize the clones
effectively.
VI. REFRENCES
[1].
[2].
[3].
[4].
[5].
[6].
[7].
Roy, Chanchal Kumar, and James R. Cordy. A survey on
software clone detection research. Technical Report 541, Queen’s
University at Kingston, 2007.
Deissenboeck, Florian, Benjamin Hummel, ElmarJuergens,
Michael Pfaehler, and Bernhard Schaetz. "Model clone detection
in practice." In Proceedings of the 4th International Workshop on
Software Clones, pp. 57-64. ACM, 2010.
Evans, William S., Christopher W. Fraser, and Fei Ma. "Clone
detection via structural abstraction." Software Quality Journal 17,
no. 4 (2009): 309-330.
Kapser, Cory, and Michael W. Godfrey. "Toward a taxonomy of
clones in source code: A case study." In ELISA workshop, p. 67.
2003.
Roy, Chanchal K., James R. Cordy, and Rainer Koschke.
"Comparison and evaluation of code clone detection techniques
and tools: A qualitative approach." Science of Computer
Programming 74, no. 7 (2009): 470-495.
Saha, Ripon K., Chanchal K. Roy, and Kevin A. Schneider. "An
automatic framework for extracting and classifying near-miss
clone genealogies." In Software Maintenance (ICSM), 2011 27th
IEEE International Conference on, pp. 293-302. IEEE, 2011.
Uddin, Md Sharif, Chanchal K. Roy, Kevin A. Schneider, and
Abram Hindle. "On the effectiveness of simhash for detecting
near-miss clones in large scale software systems." In Reverse
Engineering (WCRE), 2011 18th Working Conference on, pp. 1322. IEEE, 2011.
http://www.ijettjournal.org
Page 251
International Journal of Engineering Trends and Technology (IJETT) – Volume22 Number 6- April 2015
[8].
[9].
[10].
[11].
[12].
[13].
[14].
[15].
Barbour, Liliane, FoutseKhomh, and Ying Zou. "Late propagation
in software clones." In Software Maintenance (ICSM), 2011 27th
IEEE International Conference on, pp. 273-282. IEEE, 2011.
Nguyen, HoanAnh, Tung Thanh Nguyen, Nam H. Pham, Jafar
Al-Kofahi, and Tien N. Nguyen. "Clone management for
evolving software." Software Engineering, IEEE Transactions on
38, no. 5 (2012): 1008-1026.
Harald
Störrle, "Towards clone detection in UML domain
models." Software & Systems Modeling 12, no. 2 (2013): 307329.
Zhang, Gang, XinPeng, Zhenchang Xing, Shihai Jiang, Hai
Wang, and Wenyun Zhao. "Towards contextual and on-demand
code clone management by continuous monitoring." In
Automated Software Engineering (ASE), 2013 IEEE/ACM 28th
International Conference on, pp. 497-507. IEEE, 2013.
Xie, Shuai, FoutseKhomh, and Ying Zou. "An empirical study of
the fault-proneness of clone mutation and clone migration." In
Proceedings of the 10th Working Conference on Mining Software
Repositories, pp. 149-158. IEEE Press, 2013.
Saha, Ripon K., Chanchal K. Roy, Kevin A. Schneider, and
Dewayne E. Perry. "Understanding the evolution of type-3
clones: an exploratory study." In Mining Software Repositories
(MSR), 2013 10th IEEE Working Conference on, pp. 139-148.
IEEE, 2013.
Schulze, Sandro, and Daniel Meyer. "On the robustness of clone
detection to code obfuscation." In Proceedings of the 7th
International Workshop on Software Clones, pp. 62-68. IEEE
Press, 2013.
Keivanloo, Iman, and JuergenRilling. "Semantic-Enabled Clone
Detection." In Computer Software and Applications Conference
(COMPSAC), 2013 IEEE 37th Annual, pp. 393-398. IEEE, 2013.
ISSN: 2231-5381
[16].
[17].
[18].
[19].
[20].
[21].
Svajlenko, Jeffrey, ImanKeivanloo, and Chanchal K. Roy.
"Scaling classical clone detection tools for ultra-large datasets:
An exploratory study." In Proceedings of the 7th International
Workshop on Software Clones, pp. 16-22. IEEE Press, 2013.
Cho, Kwantae, Minho Jo, Taekyoung Kwon, Hsiao-Hwa Chen,
and Dong Hoon Lee. "Classification and experimental analysis
for clone detection approaches in wireless sensor networks."
Systems Journal, IEEE 7, no. 1 (2013): 26-35.
Roy, Chanchal K., Minhaz F. Zibran, and Rainer Koschke. "The
vision of software clone management: Past, present, and future
(keynote paper)." In Software Maintenance, Reengineering and
Reverse Engineering (CSMR-WCRE), 2014 Software Evolution
Week-IEEE Conference on, pp. 18-33. IEEE, 2014.
Xie, Shuai, FoutseKhomh, Ying Zou, and ImanKeivanloo. "An
empirical study on the fault-proneness of clone migration in clone
genealogies." In Software Maintenance, Reengineering and
Reverse Engineering (CSMR-WCRE), 2014 Software Evolution
Week-IEEE Conference on, pp. 94-103. IEEE, 2014.
Mandal, Manishankar, Chanchal K. Roy, and Kevin A.
Schneider. "Automatic ranking of clones for refactoring through
mining association rules." In Software Maintenance,
Reengineering and Reverse Engineering (CSMR-WCRE), 2014
Software Evolution Week-IEEE Conference on, pp. 114-123.
IEEE, 2014.
Mrs. Mansi Aggarwal , Dr. Vinit Kumar Verma , Mr. Harsh
Vardhan Mishra.“An Analytical Study of Object-Oriented
Metrics”. International Journal of
Engineering Trends and Technology (IJETT) – Volume 6
Number 2 , 2013.
http://www.ijettjournal.org
Page 252
Download