2012 19th Working Conference on Reverse Engineering 2012
DOI: 10.1109/wcre.2012.50
|View full text |Cite
|
Sign up to set email alerts
|

Detecting Clones Across Microsoft .NET Programming Languages

Abstract: The Microsoft .NET framework and its language family focus on multi-language development to support interoperability across several programming languages. The framework allows for the development of similar applications in different languages through the reuse of core libraries. As a result of such a multi-language development, the identification and traceability of similar code fragments (clones) becomes a key challenge. In this paper, we present a clone detection approach for the .NET language family. The ap… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
25
0

Year Published

2013
2013
2022
2022

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 31 publications
(25 citation statements)
references
References 18 publications
0
25
0
Order By: Relevance
“…They implemented a tool called C2D2 based on the CodeDOM library in the Microsoft .NET framework, which uses NRefactory Library to generate the Unified CodeDOM graph for both C# and VB.NET. Al-omari et al [10] present a clone detection approach for the .NET language family too, based on the Common Intermediate Language (CIL). It can detect cross-language clone pairs in C#, J#, and VB.NET.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…They implemented a tool called C2D2 based on the CodeDOM library in the Microsoft .NET framework, which uses NRefactory Library to generate the Unified CodeDOM graph for both C# and VB.NET. Al-omari et al [10] present a clone detection approach for the .NET language family too, based on the Common Intermediate Language (CIL). It can detect cross-language clone pairs in C#, J#, and VB.NET.…”
Section: Related Workmentioning
confidence: 99%
“…A number of researchers [3], [10] have started to detect crosslanguage code clones too. However, their approaches are limited to detect clones in the .NET language family that share a common intermediate language.…”
mentioning
confidence: 99%
“…The core of the algorithm uses a hash function to generate simhash values. Among various non-cryptographic hash functions we use Jenkin hash function since it shows better similarity preserving behaviour compared to other functions and also found effective in detecting nearmiss code fragments in other studies [1], [29], [30]. We generate a 64 bit simhash value for both context and content using the simhash algorithm [25].…”
Section: Generate Candidate Listmentioning
confidence: 99%
“…Existing single-language clone detection techniques are unable to effectively detect these sorts of cross-language clones. In this paper we propose a method to detect cross-language clones and demonstrate that it (1) finds cross-language clones that no existing method can detect; and (2) performs comparably to existing single-language clone detectors for finding clones within a corpus of single-language code sources. Therefore, our technique generalizes A JavaScript (left) and Java (right) clone pair setting the weight and inverse weight of a particle in a graphics application.…”
Section: Introductionmentioning
confidence: 99%
“…2). That initial work has either focused on clones across languages that share a common intermediate representation such as .NET [1,15] or has deviated from classical clone detection and taken a more restricted, natural languagebased approach, sometimes relying on assumptions that may not be met in real code [7,8]. None of that existing work would detect the clone examples given in Figs.…”
Section: Introductionmentioning
confidence: 99%