ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
IWSC ¡®17
CREST, University College London, UK
Using Compilation/Decompilation
to Enhance Clone Detection
Chaiyong Ragkhitwetsagul, Jens Krinke
Clone ?
det.
Plag ?
det.
Comp.
Others
ccfx
deckard
iclones
nicad
simian
jplag-java
jplag-text
plaggie
sherlock
simjava
simtext
7zncd-BZip2
7zncd-LZMA
7zncd-LZMA2
7zncd-De?ate
7zncd-De?ate64
7zncd-PPMd
bzip2ncd
gzipncd
icd
ncd-bzlib
ncd-zlib
xz-ncd
bsdiff
diff
py-dif?ib
py-fuzzywuzzy
py-jelly?sh
py-ngram
py-sklearn
0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 F1
Orig.
Dec.
Ragkhitwetsagul et al., 2016
Clone ?
det.
Plag ?
det.
Comp.
Others
ccfx
deckard
iclones
nicad
simian
jplag-java
jplag-text
plaggie
sherlock
simjava
simtext
7zncd-BZip2
7zncd-LZMA
7zncd-LZMA2
7zncd-De?ate
7zncd-De?ate64
7zncd-PPMd
bzip2ncd
gzipncd
icd
ncd-bzlib
ncd-zlib
xz-ncd
bsdiff
diff
py-dif?ib
py-fuzzywuzzy
py-jelly?sh
py-ngram
py-sklearn
0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1 F1
Orig.
Dec.
4
O. Kononenko, C. Zhang, and M. W. Godfrey, ICSME ¡®14
What Happens?
Compiling Clones:
and Decompiling
4
What Happens?
Compiling Clones:
Source
Code
and Decompiling
4
What Happens?
Compiling Clones:
Existing
tools
Source
Code
and Decompiling
4
What Happens?
Compiling Clones:
Missing
Source
Existing
tools
Source
Code
and Decompiling
4
What Happens?
Compiling Clones:
C. Ragkhitwetsagul J. Krinke CREST, UCL, UK
decomp.
clones
clone
mapper
decomp. &
mapped clones
compiler
decompiler
decompiled software
clone
detector
original
clones
5
software
common
clones
disjoint
clones
manual investigation
Experimental Framework
C. Ragkhitwetsagul J. Krinke CREST, UCL, UK 6
System Ver.
Original Decompiled
Files SLOC Files SLOC
4.1.3 203 9,777 311 11,233
1.5.0 644 96,711 669 85,251
9.0 1,688 241,924 2603 256,974
Apache Tomcat?
Software Systems
7
Tool Con?g. Parameters
NiCad Type-1 UPI=0.0, renaming=none
Type-2 UPI=0.0, renaming=consistent
Type-3 UPI=0.3, renaming=consistent
Tools
javac Procyon NiCad
Compiler Decompiler Clone Detector
8
Clone Mapper
decompiled
clone report
DCP1(dm1, dm2)
decompiled clone
pairs
software
m1
m2
m4
m3
mn
¡­
DCP2(dm1, dm3)
DCP3(dm2, dm4)
¡­
DCPn(dmm, dmo)
set of methods (M)
mo
decompiled-and-mapped
clone report
DCP*1((dm1,dm2),(m1,m2))
DCP*2((dm1,dm3),(m1,m3))
DCP*3((dm2,dm4),(m2,m4))
DCP*n((dmm,dmo),(mm,mo))
¡­
decompiled-and-mapped
clone pairs
¡­
C. Ragkhitwetsagul J. Krinke CREST, UCL, UK 9
Common & Disjoint Clone Pairs
Ccommon
Corig-only Cdecomp-only
Original Decompiled
C. Ragkhitwetsagul J. Krinke CREST, UCL, UK 10
Results
11
JUnit
Original Decompiled
Type-1
Type-2
Type-3
6
3
12
JFreeChart
Original Decompiled
Type-1
Type-2
Type-3
159
155
33
15
48
1
17
27
3
13
Tomcat
Original Decompiled
Type-1
Type-2
Type-3
217
608
20
25
141
22
3
23
1
C. Ragkhitwetsagul J. Krinke CREST, UCL, UK 14
Manual Investigation
15
No.ofclonepairs
0
10
20
30
40
50
Type-1 Type-2 Type-3
47
15
1
48
15
1
Candidates TP
JFreeChart
Cforig-only
No.ofclonepairs
0
6
12
18
24
30
Type-1 Type-2 Type-3
27
17
3
27
17
3
Cfdecomp-only
16
No.ofclonepairs
0
32
64
96
128
160
Type-1 Type-2 Type-3
141
2522
141
2522
Candidates TP
Tomcat
Cforig-only
No.ofclonepairs
0
6
12
18
24
30
Type-1 Type-2 Type-3
23
31
23
31
Cfdecomp-only
Clone set Reasons
Cforig-only
Too small after decomp.
Too diff. after decomp.
Smaller after decomp. higher dissimilarity
Unknown
Cfdecomp-only
Having deleted/added stmt., type cast, package
name.
Different if-else statements
Different loop statements
Inner class methods
Unknown
Characteristics of Disjoint Clones
Clone set Reasons
Cforig-only Too small after decomp.
Too diff. after decomp.
Smaller after decomp. higher
dissimilarity
Unknown
Cfdecomp-only
Having deleted/added stmt., type
cast, package name.
Different if-else statements
Different loop statements
Inner class methods
Unknown
JFreeChart
0 10 20 30 40 50
5
11
32
6
9
T1 T2 T3
0 2 4 6 8 10 12 14 16
12
4
3
8
12
53
Clone set Reasons
Cforig-only Too small after decomp.
Too diff. after decomp.
Smaller after decomp. higher
dissimilarity
Unknown
Cfdecomp-only
Having deleted/added stmt., type
cast, package name.
Different if-else statements
Different loop statements
Inner class methods
Unknown
Tomcat
0 28 56 84 112 140
16
5
120
19
6
T1 T2 T3
0 5 10 15 20 25 30
20
2
1
3
2
@Override	
	 public	Range	?ndRangeBounds(XYDataset	dataset)	{	
	 	 if	(dataset	!=	null)	{	
	 	 	 Range	r	=	DatasetUtilities.?ndRangeBounds(dataset,	false);	
	 	 	 if	(r	==	null)	{	
	 	 	 	 return	null;	
	 	 	 }	else	{	
	 	 	 	 return	new	Range(r.getLowerBound()	+	this.yO?set,	
																																																																								r.getUpperBound()	+	this.blockHeight	+	this.yO?set);	
	 	 	 }	
	 	 }	else	{	
	 	 	 return	null;	
	 	 }	
	 }		
	 @Override	
	 public	Range	?ndDomainBounds(XYDataset	dataset)	{	
	 	 if	(dataset	==	null)	{	
	 	 	 return	null;	
	 	 }	
	 	 Range	r	=	DatasetUtilities.?ndDomainBounds(dataset,	false);	
	 	 if	(r	==	null)	{	
	 	 	 return	null;	
	 	 }	
	 	 return	new	Range(r.getLowerBound()	+	this.xO?set,		
	 	 	 	 									r.getUpperBound()	+	this.blockWidth	+	this.xO?set);	
	 }
O
R
I
G
I
N
A
L
@Override	
	 public	Range	?ndRangeBounds(XYDataset	dataset)	{	
	 	 if	(dataset	!=	null)	{	
	 	 	 Range	r	=	DatasetUtilities.?ndRangeBounds(dataset,	false);	
	 	 	 if	(r	==	null)	{	
	 	 	 	 return	null;	
	 	 	 }	else	{	
	 	 	 	 return	new	Range(r.getLowerBound()	+	this.yO?set,	
																																																																								r.getUpperBound()	+	this.blockHeight	+	this.yO?set);	
	 	 	 }	
	 	 }	else	{	
	 	 	 return	null;	
	 	 }	
	 }		
	 @Override	
	 public	Range	?ndDomainBounds(XYDataset	dataset)	{	
	 	 if	(dataset	==	null)	{	
	 	 	 return	null;	
	 	 }	
	 	 Range	r	=	DatasetUtilities.?ndDomainBounds(dataset,	false);	
	 	 if	(r	==	null)	{	
	 	 	 return	null;	
	 	 }	
	 	 return	new	Range(r.getLowerBound()	+	this.xO?set,		
	 	 	 	 									r.getUpperBound()	+	this.blockWidth	+	this.xO?set);	
	 }
O
R
I
G
I
N
A
L
@Override	
	 public	Range	?ndDomainBounds(?nal	XYDataset	dataset)	{	
	 	 if	(dataset	==	null)	{	
	 	 	 return	null;	
	 	 }	
	 	 ?nal	Range	r	=	DatasetUtilities.?ndDomainBounds(dataset,	false);	
	 	 if	(r	==	null)	{	
	 	 	 return	null;	
	 	 }	
	 	 return	new	Range(r.getLowerBound()	+	this.xO?set,		
																																																						r.getUpperBound()	+	this.blockWidth	+	this.xO?set);	
	 }
	 @Override	
	 public	Range	?ndRangeBounds(?nal	XYDataset	dataset)	{	
	 	 if	(dataset	==	null)	{	
	 	 	 return	null;	
	 	 }	
	 	 ?nal	Range	r	=	DatasetUtilities.?ndRangeBounds(dataset,	false);	
	 	 if	(r	==	null)	{	
	 	 	 return	null;	
	 	 }	
	 	 return	new	Range(r.getLowerBound()	+	this.yO?set,		
	 	 	 	 									r.getUpperBound()	+	this.blockHeight	+	this.yO?set);	
	 }
D
E
C
O
M
P
I
L
E
D
public	void	clearRangeMarkers()	{	
				if	(this.backgroundRangeMarkers	!=	null)	{	
								Set<Integer>	keys	=		
																										this.backgroundRangeMarkers.keySet();	
								for	(Integer	key	:	keys)	{	
												clearRangeMarkers(key);	
								}	
								this.backgroundRangeMarkers.clear();	
				}	
				if	(this.foregroundRangeMarkers	!=	null)	{	
								Set<Integer>	keys	=		
																									this.foregroundRangeMarkers.keySet();	
								for	(Integer	key	:	keys)	{	
												clearRangeMarkers(key);	
								}	
								this.foregroundRangeMarkers.clear();	
				}	
				?reChangeEvent();	
}
				public	void	clearRangeMarkers()	{	
								if	(this.backgroundRangeMarkers	!=	null)	{	
												Set	keys	=		
																				this.backgroundRangeMarkers.keySet();	
												Iterator	iterator	=	keys.iterator();	
												while	(iterator.hasNext())	{	
																Integer	key	=	(Integer)	iterator.next();	
																clearRangeMarkers(key.intValue());	
												}	
												this.backgroundRangeMarkers.clear();	
								}	
								if	(this.foregroundRangeMarkers	!=	null)	{	
												Set	keys	=		
																				this.foregroundRangeMarkers.keySet();	
												Iterator	iterator	=	keys.iterator();	
												while	(iterator.hasNext())	{	
																Integer	key	=	(Integer)	iterator.next();	
																clearRangeMarkers(key.intValue());	
												}	
												this.foregroundRangeMarkers.clear();	
								}	
								?reChangeEvent();	
}	
ORIGINAL
public	void	clearRangeMarkers()	{	
				if	(this.backgroundRangeMarkers	!=	null)	{	
								Set<Integer>	keys	=		
																										this.backgroundRangeMarkers.keySet();	
								for	(Integer	key	:	keys)	{	
												clearRangeMarkers(key);	
								}	
								this.backgroundRangeMarkers.clear();	
				}	
				if	(this.foregroundRangeMarkers	!=	null)	{	
								Set<Integer>	keys	=		
																									this.foregroundRangeMarkers.keySet();	
								for	(Integer	key	:	keys)	{	
												clearRangeMarkers(key);	
								}	
								this.foregroundRangeMarkers.clear();	
				}	
				?reChangeEvent();	
}
				public	void	clearRangeMarkers()	{	
								if	(this.backgroundRangeMarkers	!=	null)	{	
												Set	keys	=		
																				this.backgroundRangeMarkers.keySet();	
												Iterator	iterator	=	keys.iterator();	
												while	(iterator.hasNext())	{	
																Integer	key	=	(Integer)	iterator.next();	
																clearRangeMarkers(key.intValue());	
												}	
												this.backgroundRangeMarkers.clear();	
								}	
								if	(this.foregroundRangeMarkers	!=	null)	{	
												Set	keys	=		
																				this.foregroundRangeMarkers.keySet();	
												Iterator	iterator	=	keys.iterator();	
												while	(iterator.hasNext())	{	
																Integer	key	=	(Integer)	iterator.next();	
																clearRangeMarkers(key.intValue());	
												}	
												this.foregroundRangeMarkers.clear();	
								}	
								?reChangeEvent();	
}	
ORIGINAL
public	void	clearRangeMarkers()	{	
				if	(this.backgroundDomainMarkers	!=	null)	{	
								?nal	Set<Integer>	keys	=		
																		this.backgroundDomainMarkers.keySet();	
												for	(?nal	Integer	key	:	keys)	{	
																this.clearDomainMarkers(key);	
												}	
												this.backgroundDomainMarkers.clear();	
								}	
								if	(this.foregroundDomainMarkers	!=	null)	{	
												?nal	Set<Integer>	keys	=		
																						this.foregroundDomainMarkers.keySet();	
												for	(?nal	Integer	key	:	keys)	{	
																this.clearDomainMarkers(key);	
												}	
												this.foregroundDomainMarkers.clear();	
								}	
								this.?reChangeEvent();	
}
				public	void	clearRangeMarkers()	{	
								if	(this.backgroundRangeMarkers	!=	null)	{	
												?nal	Set	keys	=		
																this.backgroundRangeMarkers.keySet();	
												for	(?nal	Integer	key	:	keys)	{	
																this.clearRangeMarkers(key);	
												}	
												this.backgroundRangeMarkers.clear();	
								}	
								if	(this.foregroundRangeMarkers	!=	null)	{	
								?nal	Set	keys	=		
												this.foregroundRangeMarkers.keySet();	
								for	(?nal	Integer	key	:	keys)	{	
												this.clearRangeMarkers(key);	
								}	
								this.foregroundRangeMarkers.clear();	
								}	
								this.?reChangeEvent();	
				}
DECOMPILED
26
Study on 3 real-world systems: JUnit, JFreeChart, Tomcat
Using Compilation/Decompilation ?
to Enhance Clone Detection
1 Clone pairs before and after decompilation are mostly
similar for all three clone types.
Findings:
2 One can complement the original clone results by
incorporating clones after decompilation.
Characteristics of disjoint clones3
C. Ragkhitwetsagul, J. Krinke
cragkhit.github.io/crjk-iwsc17

More Related Content

Viewers also liked (16)

Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + Kerberos
Stratio
?
Inventario de perasonalidad pexposicionInventario de perasonalidad pexposicion
Inventario de perasonalidad pexposicion
Talita Mtz
?
Power point fuishaPower point fuisha
Power point fuisha
erikanunezledesma1
?
A historia do noso planeta
A historia do noso planetaA historia do noso planeta
A historia do noso planeta
irenetraba
?
¹«Ìý»á×ÊÁÏ©¤·á¸»×¨°¸Çø¶ÎáçÊÕ
¹«Ìý»á×ÊÁÏ©¤·á¸»×¨°¸Çø¶ÎáçÊÕ¹«Ìý»á×ÊÁÏ©¤·á¸»×¨°¸Çø¶ÎáçÊÕ
¹«Ìý»á×ÊÁÏ©¤·á¸»×¨°¸Çø¶ÎáçÊÕ
‚Ü„P —î
?
A estrutura e din¨¢mica da terra
A estrutura e din¨¢mica da terraA estrutura e din¨¢mica da terra
A estrutura e din¨¢mica da terra
irenetraba
?
A sa¨²de e a enfermidade
A sa¨²de e a enfermidadeA sa¨²de e a enfermidade
A sa¨²de e a enfermidade
irenetraba
?
El bullingEl bulling
El bulling
Capacitacion Pucp
?
Estudo dos ecosistemas
Estudo dos ecosistemasEstudo dos ecosistemas
Estudo dos ecosistemas
irenetraba
?
A informaci¨®n xen¨¦tica
A informaci¨®n xen¨¦ticaA informaci¨®n xen¨¦tica
A informaci¨®n xen¨¦tica
irenetraba
?
MERCA PRESENTACIONMERCA PRESENTACION
MERCA PRESENTACION
lu2205
?
Presentaci¨®n SDL Trados vs D¨¦j¨¤-vuPresentaci¨®n SDL Trados vs D¨¦j¨¤-vu
Presentaci¨®n SDL Trados vs D¨¦j¨¤-vu
OLEXI
?
Los ni?@s de Villar de Olalla visitan Toledo, por Vicente Jim¨¦nezLos ni?@s de Villar de Olalla visitan Toledo, por Vicente Jim¨¦nez
Los ni?@s de Villar de Olalla visitan Toledo, por Vicente Jim¨¦nez
Rebeca Collado del Pozo
?
RomaRoma
Roma
Julio Perilla
?
Inhalation analytical techniques 1
Inhalation analytical techniques 1Inhalation analytical techniques 1
Inhalation analytical techniques 1
Pankaj Deshpande
?
La amistadLa amistad
La amistad
Sonia Ortiz
?
Meetup: Spark + KerberosMeetup: Spark + Kerberos
Meetup: Spark + Kerberos
Stratio
?
Inventario de perasonalidad pexposicionInventario de perasonalidad pexposicion
Inventario de perasonalidad pexposicion
Talita Mtz
?
Power point fuishaPower point fuisha
Power point fuisha
erikanunezledesma1
?
A historia do noso planeta
A historia do noso planetaA historia do noso planeta
A historia do noso planeta
irenetraba
?
¹«Ìý»á×ÊÁÏ©¤·á¸»×¨°¸Çø¶ÎáçÊÕ
¹«Ìý»á×ÊÁÏ©¤·á¸»×¨°¸Çø¶ÎáçÊÕ¹«Ìý»á×ÊÁÏ©¤·á¸»×¨°¸Çø¶ÎáçÊÕ
¹«Ìý»á×ÊÁÏ©¤·á¸»×¨°¸Çø¶ÎáçÊÕ
‚Ü„P —î
?
A estrutura e din¨¢mica da terra
A estrutura e din¨¢mica da terraA estrutura e din¨¢mica da terra
A estrutura e din¨¢mica da terra
irenetraba
?
A sa¨²de e a enfermidade
A sa¨²de e a enfermidadeA sa¨²de e a enfermidade
A sa¨²de e a enfermidade
irenetraba
?
Estudo dos ecosistemas
Estudo dos ecosistemasEstudo dos ecosistemas
Estudo dos ecosistemas
irenetraba
?
A informaci¨®n xen¨¦tica
A informaci¨®n xen¨¦ticaA informaci¨®n xen¨¦tica
A informaci¨®n xen¨¦tica
irenetraba
?
MERCA PRESENTACIONMERCA PRESENTACION
MERCA PRESENTACION
lu2205
?
Presentaci¨®n SDL Trados vs D¨¦j¨¤-vuPresentaci¨®n SDL Trados vs D¨¦j¨¤-vu
Presentaci¨®n SDL Trados vs D¨¦j¨¤-vu
OLEXI
?
Los ni?@s de Villar de Olalla visitan Toledo, por Vicente Jim¨¦nezLos ni?@s de Villar de Olalla visitan Toledo, por Vicente Jim¨¦nez
Los ni?@s de Villar de Olalla visitan Toledo, por Vicente Jim¨¦nez
Rebeca Collado del Pozo
?
Inhalation analytical techniques 1
Inhalation analytical techniques 1Inhalation analytical techniques 1
Inhalation analytical techniques 1
Pankaj Deshpande
?
La amistadLa amistad
La amistad
Sonia Ortiz
?

Similar to Using Compilation/Decompilation to Enhance Clone Detection (20)

Cram
CramCram
Cram
JamesBonfield
?
Similarity of Source Code in the Presence of Pervasive Modifications [SCAM'16]
Similarity of Source Code in the Presence of Pervasive Modifications [SCAM'16]Similarity of Source Code in the Presence of Pervasive Modifications [SCAM'16]
Similarity of Source Code in the Presence of Pervasive Modifications [SCAM'16]
Chaiyong Ragkhitwetsagul
?
Internship - Final Presentation (26-08-2015)
Internship - Final Presentation (26-08-2015)Internship - Final Presentation (26-08-2015)
Internship - Final Presentation (26-08-2015)
Sean Krail
?
LINE ¥¹¥¿¥ó¥×¥·¥ç¥Ã¥×¤Ë¤ª¤±¤ë Zipkin ÀûÓÃÊÂÀý
LINE ¥¹¥¿¥ó¥×¥·¥ç¥Ã¥×¤Ë¤ª¤±¤ë Zipkin ÀûÓÃÊÂÀýLINE ¥¹¥¿¥ó¥×¥·¥ç¥Ã¥×¤Ë¤ª¤±¤ë Zipkin ÀûÓÃÊÂÀý
LINE ¥¹¥¿¥ó¥×¥·¥ç¥Ã¥×¤Ë¤ª¤±¤ë Zipkin ÀûÓÃÊÂÀý
LINE Corporation
?
Android & PostgreSQL
Android & PostgreSQLAndroid & PostgreSQL
Android & PostgreSQL
Mark Wong
?
Zarzadzanie pamiecia w .NET - WDI
Zarzadzanie pamiecia w .NET - WDIZarzadzanie pamiecia w .NET - WDI
Zarzadzanie pamiecia w .NET - WDI
Konrad Kokosa
?
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
Engine Yard
?
No dark magic - Byte code engineering in the real world
No dark magic - Byte code engineering in the real worldNo dark magic - Byte code engineering in the real world
No dark magic - Byte code engineering in the real world
tcurdt
?
Functional manipulations of large data graphs 20160601
Functional manipulations of large data graphs 20160601Functional manipulations of large data graphs 20160601
Functional manipulations of large data graphs 20160601
David Wood
?
Xdp and ebpf_maps
Xdp and ebpf_mapsXdp and ebpf_maps
Xdp and ebpf_maps
lcplcp1
?
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018
Zahari Dichev
?
(Slightly) Smarter Smart Pointers
(Slightly) Smarter Smart Pointers(Slightly) Smarter Smart Pointers
(Slightly) Smarter Smart Pointers
Carlo Pescio
?
IDS.pptx
IDS.pptxIDS.pptx
IDS.pptx
EmanAlzariey2
?
PPT - 2001 - PostgreSQL Internals Through Pictures.pdf
PPT - 2001 - PostgreSQL Internals Through Pictures.pdfPPT - 2001 - PostgreSQL Internals Through Pictures.pdf
PPT - 2001 - PostgreSQL Internals Through Pictures.pdf
ssuserf469dc1
?
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
Aman Gupta
?
Bioinfo ngs data format visualization v2
Bioinfo ngs data format visualization v2Bioinfo ngs data format visualization v2
Bioinfo ngs data format visualization v2
Li Shen
?
Convolutional neural networks for image classification ¡ª evidence from Kaggle...
Convolutional neural networks for image classification ¡ª evidence from Kaggle...Convolutional neural networks for image classification ¡ª evidence from Kaggle...
Convolutional neural networks for image classification ¡ª evidence from Kaggle...
Dmytro Mishkin
?
Lrz kurse: r as superglue
Lrz kurse: r as superglueLrz kurse: r as superglue
Lrz kurse: r as superglue
Ferdinand Jamitzky
?
Welcome, Java 15! (Japanese)
Welcome, Java 15! (Japanese)Welcome, Java 15! (Japanese)
Welcome, Java 15! (Japanese)
Logico
?
CodeQL + DTrace = Memory Disclosure Vulnerabilities in XNU
CodeQL + DTrace = Memory Disclosure Vulnerabilities in XNUCodeQL + DTrace = Memory Disclosure Vulnerabilities in XNU
CodeQL + DTrace = Memory Disclosure Vulnerabilities in XNU
Arsenii Kostromin
?
Similarity of Source Code in the Presence of Pervasive Modifications [SCAM'16]
Similarity of Source Code in the Presence of Pervasive Modifications [SCAM'16]Similarity of Source Code in the Presence of Pervasive Modifications [SCAM'16]
Similarity of Source Code in the Presence of Pervasive Modifications [SCAM'16]
Chaiyong Ragkhitwetsagul
?
Internship - Final Presentation (26-08-2015)
Internship - Final Presentation (26-08-2015)Internship - Final Presentation (26-08-2015)
Internship - Final Presentation (26-08-2015)
Sean Krail
?
LINE ¥¹¥¿¥ó¥×¥·¥ç¥Ã¥×¤Ë¤ª¤±¤ë Zipkin ÀûÓÃÊÂÀý
LINE ¥¹¥¿¥ó¥×¥·¥ç¥Ã¥×¤Ë¤ª¤±¤ë Zipkin ÀûÓÃÊÂÀýLINE ¥¹¥¿¥ó¥×¥·¥ç¥Ã¥×¤Ë¤ª¤±¤ë Zipkin ÀûÓÃÊÂÀý
LINE ¥¹¥¿¥ó¥×¥·¥ç¥Ã¥×¤Ë¤ª¤±¤ë Zipkin ÀûÓÃÊÂÀý
LINE Corporation
?
Android & PostgreSQL
Android & PostgreSQLAndroid & PostgreSQL
Android & PostgreSQL
Mark Wong
?
Zarzadzanie pamiecia w .NET - WDI
Zarzadzanie pamiecia w .NET - WDIZarzadzanie pamiecia w .NET - WDI
Zarzadzanie pamiecia w .NET - WDI
Konrad Kokosa
?
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
Engine Yard
?
No dark magic - Byte code engineering in the real world
No dark magic - Byte code engineering in the real worldNo dark magic - Byte code engineering in the real world
No dark magic - Byte code engineering in the real world
tcurdt
?
Functional manipulations of large data graphs 20160601
Functional manipulations of large data graphs 20160601Functional manipulations of large data graphs 20160601
Functional manipulations of large data graphs 20160601
David Wood
?
Xdp and ebpf_maps
Xdp and ebpf_mapsXdp and ebpf_maps
Xdp and ebpf_maps
lcplcp1
?
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018
Zahari Dichev
?
(Slightly) Smarter Smart Pointers
(Slightly) Smarter Smart Pointers(Slightly) Smarter Smart Pointers
(Slightly) Smarter Smart Pointers
Carlo Pescio
?
PPT - 2001 - PostgreSQL Internals Through Pictures.pdf
PPT - 2001 - PostgreSQL Internals Through Pictures.pdfPPT - 2001 - PostgreSQL Internals Through Pictures.pdf
PPT - 2001 - PostgreSQL Internals Through Pictures.pdf
ssuserf469dc1
?
Bioinfo ngs data format visualization v2
Bioinfo ngs data format visualization v2Bioinfo ngs data format visualization v2
Bioinfo ngs data format visualization v2
Li Shen
?
Convolutional neural networks for image classification ¡ª evidence from Kaggle...
Convolutional neural networks for image classification ¡ª evidence from Kaggle...Convolutional neural networks for image classification ¡ª evidence from Kaggle...
Convolutional neural networks for image classification ¡ª evidence from Kaggle...
Dmytro Mishkin
?
Welcome, Java 15! (Japanese)
Welcome, Java 15! (Japanese)Welcome, Java 15! (Japanese)
Welcome, Java 15! (Japanese)
Logico
?
CodeQL + DTrace = Memory Disclosure Vulnerabilities in XNU
CodeQL + DTrace = Memory Disclosure Vulnerabilities in XNUCodeQL + DTrace = Memory Disclosure Vulnerabilities in XNU
CodeQL + DTrace = Memory Disclosure Vulnerabilities in XNU
Arsenii Kostromin
?

Recently uploaded (20)

Disruption channel in business model innovation topic
Disruption channel in business model innovation topicDisruption channel in business model innovation topic
Disruption channel in business model innovation topic
anandraj930873
?
Lecture 16 - 17 - NonTraditional Machining Presentation.ppt
Lecture 16 - 17 - NonTraditional Machining Presentation.pptLecture 16 - 17 - NonTraditional Machining Presentation.ppt
Lecture 16 - 17 - NonTraditional Machining Presentation.ppt
INSTITUTE OF ENGINEERING /BKC
?
DBMS Nested & Sub Queries Set operations
DBMS Nested & Sub Queries Set operationsDBMS Nested & Sub Queries Set operations
DBMS Nested & Sub Queries Set operations
Sreedhar Chowdam
?
CCNA_Product_OverviewCCNA_Productsa.pptx
CCNA_Product_OverviewCCNA_Productsa.pptxCCNA_Product_OverviewCCNA_Productsa.pptx
CCNA_Product_OverviewCCNA_Productsa.pptx
UdayakumarAllimuthu
?
Telehealth technology ¨C A new horizon in health care
Telehealth technology ¨C A new horizon in health careTelehealth technology ¨C A new horizon in health care
Telehealth technology ¨C A new horizon in health care
Dr INBAMALAR T M
?
Unit-03 Cams and Followers in Mechanisms of Machines.pptx
Unit-03 Cams and Followers in Mechanisms of Machines.pptxUnit-03 Cams and Followers in Mechanisms of Machines.pptx
Unit-03 Cams and Followers in Mechanisms of Machines.pptx
Kirankumar Jagtap
?
Mastering Secure Login Mechanisms for React Apps.pdf
Mastering Secure Login Mechanisms for React Apps.pdfMastering Secure Login Mechanisms for React Apps.pdf
Mastering Secure Login Mechanisms for React Apps.pdf
Brion Mario
?
Introduction to 3D Printing Technology.pptx
Introduction to 3D Printing Technology.pptxIntroduction to 3D Printing Technology.pptx
Introduction to 3D Printing Technology.pptx
pprakash21252
?
e-health to improve the effectiveness of the Healthcare system
e-health to improve the  effectiveness of the Healthcare systeme-health to improve the  effectiveness of the Healthcare system
e-health to improve the effectiveness of the Healthcare system
Dr INBAMALAR T M
?
UHV UNIT-3 HARMONY IN THE FAMILY AND SOCIETY.pptx
UHV UNIT-3 HARMONY IN THE FAMILY AND SOCIETY.pptxUHV UNIT-3 HARMONY IN THE FAMILY AND SOCIETY.pptx
UHV UNIT-3 HARMONY IN THE FAMILY AND SOCIETY.pptx
ariomthermal2031
?
NFPA 70B & 70E Changes and Additions Webinar Presented By Fluke
NFPA 70B & 70E Changes and Additions Webinar Presented By FlukeNFPA 70B & 70E Changes and Additions Webinar Presented By Fluke
NFPA 70B & 70E Changes and Additions Webinar Presented By Fluke
Transcat
?
PLANT CELL REACTORS presenation PTC amity
PLANT CELL REACTORS presenation PTC amityPLANT CELL REACTORS presenation PTC amity
PLANT CELL REACTORS presenation PTC amity
UrjaMoon
?
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
QualityManager48
?
GDGoC Artificial Intelligence Workshop.pptx
GDGoC Artificial Intelligence Workshop.pptxGDGoC Artificial Intelligence Workshop.pptx
GDGoC Artificial Intelligence Workshop.pptx
Aditi330605
?
02.BigDataAnalytics curso de Legsi (1).pdf
02.BigDataAnalytics curso de Legsi (1).pdf02.BigDataAnalytics curso de Legsi (1).pdf
02.BigDataAnalytics curso de Legsi (1).pdf
ruioliveira1921
?
Virtual Power plants-Cleantech-Revolution
Virtual Power plants-Cleantech-RevolutionVirtual Power plants-Cleantech-Revolution
Virtual Power plants-Cleantech-Revolution
Ashoka Saket
?
UHV unit-2UNIT - II HARMONY IN THE HUMAN BEING.pptx
UHV unit-2UNIT - II HARMONY IN THE HUMAN BEING.pptxUHV unit-2UNIT - II HARMONY IN THE HUMAN BEING.pptx
UHV unit-2UNIT - II HARMONY IN THE HUMAN BEING.pptx
ariomthermal2031
?
Hackathon-Problem-Statements-Technology-Track-with-Link.pptx
Hackathon-Problem-Statements-Technology-Track-with-Link.pptxHackathon-Problem-Statements-Technology-Track-with-Link.pptx
Hackathon-Problem-Statements-Technology-Track-with-Link.pptx
datahiverecruitment
?
Analysis of Daylighting in Interior Spaces using the Daylight Factor - A Manu...
Analysis of Daylighting in Interior Spaces using the Daylight Factor - A Manu...Analysis of Daylighting in Interior Spaces using the Daylight Factor - A Manu...
Analysis of Daylighting in Interior Spaces using the Daylight Factor - A Manu...
Ignacio J. J. Palma Carazo
?
GRAPHS AND DISCONTINUITIES POWERPOINT.pptx
GRAPHS AND DISCONTINUITIES POWERPOINT.pptxGRAPHS AND DISCONTINUITIES POWERPOINT.pptx
GRAPHS AND DISCONTINUITIES POWERPOINT.pptx
ChrisPuyoc1
?
Disruption channel in business model innovation topic
Disruption channel in business model innovation topicDisruption channel in business model innovation topic
Disruption channel in business model innovation topic
anandraj930873
?
Lecture 16 - 17 - NonTraditional Machining Presentation.ppt
Lecture 16 - 17 - NonTraditional Machining Presentation.pptLecture 16 - 17 - NonTraditional Machining Presentation.ppt
Lecture 16 - 17 - NonTraditional Machining Presentation.ppt
INSTITUTE OF ENGINEERING /BKC
?
DBMS Nested & Sub Queries Set operations
DBMS Nested & Sub Queries Set operationsDBMS Nested & Sub Queries Set operations
DBMS Nested & Sub Queries Set operations
Sreedhar Chowdam
?
CCNA_Product_OverviewCCNA_Productsa.pptx
CCNA_Product_OverviewCCNA_Productsa.pptxCCNA_Product_OverviewCCNA_Productsa.pptx
CCNA_Product_OverviewCCNA_Productsa.pptx
UdayakumarAllimuthu
?
Telehealth technology ¨C A new horizon in health care
Telehealth technology ¨C A new horizon in health careTelehealth technology ¨C A new horizon in health care
Telehealth technology ¨C A new horizon in health care
Dr INBAMALAR T M
?
Unit-03 Cams and Followers in Mechanisms of Machines.pptx
Unit-03 Cams and Followers in Mechanisms of Machines.pptxUnit-03 Cams and Followers in Mechanisms of Machines.pptx
Unit-03 Cams and Followers in Mechanisms of Machines.pptx
Kirankumar Jagtap
?
Mastering Secure Login Mechanisms for React Apps.pdf
Mastering Secure Login Mechanisms for React Apps.pdfMastering Secure Login Mechanisms for React Apps.pdf
Mastering Secure Login Mechanisms for React Apps.pdf
Brion Mario
?
Introduction to 3D Printing Technology.pptx
Introduction to 3D Printing Technology.pptxIntroduction to 3D Printing Technology.pptx
Introduction to 3D Printing Technology.pptx
pprakash21252
?
e-health to improve the effectiveness of the Healthcare system
e-health to improve the  effectiveness of the Healthcare systeme-health to improve the  effectiveness of the Healthcare system
e-health to improve the effectiveness of the Healthcare system
Dr INBAMALAR T M
?
UHV UNIT-3 HARMONY IN THE FAMILY AND SOCIETY.pptx
UHV UNIT-3 HARMONY IN THE FAMILY AND SOCIETY.pptxUHV UNIT-3 HARMONY IN THE FAMILY AND SOCIETY.pptx
UHV UNIT-3 HARMONY IN THE FAMILY AND SOCIETY.pptx
ariomthermal2031
?
NFPA 70B & 70E Changes and Additions Webinar Presented By Fluke
NFPA 70B & 70E Changes and Additions Webinar Presented By FlukeNFPA 70B & 70E Changes and Additions Webinar Presented By Fluke
NFPA 70B & 70E Changes and Additions Webinar Presented By Fluke
Transcat
?
PLANT CELL REACTORS presenation PTC amity
PLANT CELL REACTORS presenation PTC amityPLANT CELL REACTORS presenation PTC amity
PLANT CELL REACTORS presenation PTC amity
UrjaMoon
?
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
QualityManager48
?
GDGoC Artificial Intelligence Workshop.pptx
GDGoC Artificial Intelligence Workshop.pptxGDGoC Artificial Intelligence Workshop.pptx
GDGoC Artificial Intelligence Workshop.pptx
Aditi330605
?
02.BigDataAnalytics curso de Legsi (1).pdf
02.BigDataAnalytics curso de Legsi (1).pdf02.BigDataAnalytics curso de Legsi (1).pdf
02.BigDataAnalytics curso de Legsi (1).pdf
ruioliveira1921
?
Virtual Power plants-Cleantech-Revolution
Virtual Power plants-Cleantech-RevolutionVirtual Power plants-Cleantech-Revolution
Virtual Power plants-Cleantech-Revolution
Ashoka Saket
?
UHV unit-2UNIT - II HARMONY IN THE HUMAN BEING.pptx
UHV unit-2UNIT - II HARMONY IN THE HUMAN BEING.pptxUHV unit-2UNIT - II HARMONY IN THE HUMAN BEING.pptx
UHV unit-2UNIT - II HARMONY IN THE HUMAN BEING.pptx
ariomthermal2031
?
Hackathon-Problem-Statements-Technology-Track-with-Link.pptx
Hackathon-Problem-Statements-Technology-Track-with-Link.pptxHackathon-Problem-Statements-Technology-Track-with-Link.pptx
Hackathon-Problem-Statements-Technology-Track-with-Link.pptx
datahiverecruitment
?
Analysis of Daylighting in Interior Spaces using the Daylight Factor - A Manu...
Analysis of Daylighting in Interior Spaces using the Daylight Factor - A Manu...Analysis of Daylighting in Interior Spaces using the Daylight Factor - A Manu...
Analysis of Daylighting in Interior Spaces using the Daylight Factor - A Manu...
Ignacio J. J. Palma Carazo
?
GRAPHS AND DISCONTINUITIES POWERPOINT.pptx
GRAPHS AND DISCONTINUITIES POWERPOINT.pptxGRAPHS AND DISCONTINUITIES POWERPOINT.pptx
GRAPHS AND DISCONTINUITIES POWERPOINT.pptx
ChrisPuyoc1
?

Using Compilation/Decompilation to Enhance Clone Detection