arrow
Return

Program Characterization Using Runtime Values and Its Application to Software Plagiarism Detection

delete2015-09-01
delete35
PRE
AI
Y
Yoon‐Chan Jhi
X
Xiaoqi Jia *
X
Xinran Wang
S
Sencun Zhu
P
Peng Liu
D
Dinghao Wu
DOI:10.1109/TSE.2015.2418777delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Illegal code reuse has become a serious threat to the software community. Identifying similar or identical code fragments becomes much more challenging in code theft cases where plagiarizers can use various automated code transformation or obfuscation techniques to hide stolen code from being detected. Previous works in this field are largely limited in that (i) most of them cannot handle advanced obfuscation techniques, and (ii) the methods based on source code analysis are not practical since the source code of suspicious programs typically cannot be obtained until strong evidences have been collected. Based on the observation that some critical runtime values of a program are hard to be replaced or eliminated by semantics-preserving transformation techniques, we introduce a novel approach to dynamic characterization of executable programs. Leveraging such invariant values, our technique is resilient to various control and data obfuscation techniques. We show how the values can be extracted and refined to expose the critical values and how we can apply this runtime property to help solve problems in software plagiarism detection. We have implemented a prototype with a dynamic taint analyzer atop a generic processor emulator. Our value-based plagiarism detection method (VaPD) uses the longest common subsequence based similarity measuring algorithms to check whether two code fragments belong to the same lineage. We evaluate our proposed method through a set of real-world automated obfuscators. Our experimental results show that the value-based method successfully discriminates 34 plagiarisms obfuscated by SandMark, plagiarisms heavily obfuscated by KlassMaster, programs obfuscated by Thicket, and executables obfuscated by Loco/Diablo.
Keywords:
Software plagiarism detection
dynamic code identification
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

IEEE Transactions on Software Engineering cover
IEEE Transactions on Software Engineering
IF:
5.6
Papers:
2.9K
Citations:
1.1W

Organization

P
pennsylvania state university - university park
Scholars:
1.3W
Papers: 1.0W
Citations: 24
P
Pennsylvania State University
Scholars:
3.0W
Papers: 2.6W
Citations: 7.2W
P
pennsylvania commonwealth system of higher education (pcshe)
Scholars:
12.9W
Papers: 11.7W
Citations: 177
I
institute of information engineering, cas
Scholars:
477
Papers: 469
Citations: 0
C
chinese academy of sciences
Scholars:
56.7W
Papers: 45.0W
Citations: 704
researcher View more organizations
Cited Papers

Cited Papers

Oxygen Reduction Kinetics Enhancement on a Heterostructured Oxide Surface for Solid Oxide Fuel Cells
err2010-10-15
err0
PREAI
errEthan J. Crumlin; Eva Mutoro; Sung-Jin Ahn; Gerardo Jose la O’; Donovan N. Leonard; Albina Borisevich; Michael D. Biegalski; Hans M. Christen; Yang Shao-Horn
errShare
errSave
errShare
errSave
An autonomous in situ detection system for radioactivity measurements in the marine environment
err2008-10-01
err0
PREAI
errC. Tsabaris; C. Bagatelas; Th. Dakladas; C.T. Papadopoulos; R. Vlastou; G.T. Chronis
errShare
errSave
Graphical Tools for Network Meta-Analysis in STATA
err2013-10-03
err0
errOAAI
errAnna Chaimani; Julian P. T. Higgins; Dimitris Mavridis; Panagiota Spyridonos; Georgia Salanti
errShare
errSave
Kinetic Analysis of Food Systems
err
IF0
err2017-01-01
err0
PREAI
errAlejandro G. Marangoni
errShare
errSave
researcher View more