Cited by 35Software Engineering ResearchSecurity and Verification in ComputingAcademic integrity and plagiarism

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

Jhi, Yoon-Chan, Jia, Xiaoqi, Wang, Xinran, Zhu, Sencun, Liu, Peng, Wu, Dinghao·2015·IEEE Transactions on Software Engineering

Abstract

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 auto…

Integrity signals

Registry

Crossref · 10.1109/tse.2015.2418777

Cites

Statistics

Recomputing p-values needs the paper’s full text.

Claims the paper makes

This paper’s full text isn’t openly available, so its claims and self-check weren’t run. The registry and citation checks still apply.

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

No citation lists for this paper

No citation lists for this paper yet — checked again daily.

References 60 · Cited by 35

Authors
Jhi, Y.-C., Jia, X., Wang, X., Zhu, S., Liu, P., & Wu, D.
Affiliations
  • Samsung (South Korea) (KR)
  • Chinese Academy of Sciences (CN)
  • Pennsylvania State University (US)
Venue
IEEE Transactions on Software Engineering
Published
2015-09-01
Volume
41
Issue
9
Pages
925-943
ISSN
  • 0098-5589 (ISSN-L)
  • 1939-3520
OpenAlex
W2067982285
Cited by
35
References
60
Citations by year
2026: 1 · 2024: 2 · 2023: 1 · 2022: 5 · 2021: 4 · 2020: 8 · 2019: 2 · 2018: 5 · 2017: 4 · 2016: 3
FWCI
10.75
Type
journal article
Language
en
Open access
closed
Locations
IEEE Transactions on Software Engineering (publishedVersion)
Funders
  • US National Science Foundation (NSF) (CCF-1320605, NSF CNS-1223710, NSF CNS-0905131, NSF CNS-0916469, AFOSR FA9550-07-1-0527, ARO W911NF-09-1-0525, ARO W911NF-13-1-0421)
  • AFRL (FA8750-08-C-0137)
  • National Natural Science Foundation of China (NSFC) (61100228)
  • National High-tech R&D Program of China (2012AA013101)
  • Strategic Priority Research Program of the Chinese Academy of Sciences (XDA06030601, XDA06010701)
Topics
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Physical Sciences › Computer Science › Artificial Intelligence › Security and Verification in Computing
  • Social Sciences › Safety Research › Academic integrity and plagiarism
Keywords
software plagiarism detection, code obfuscation, dynamic taint analysis, program characterization, code reuse, longest common subsequence, thicket

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review