Cited by 220Software Engineering ResearchAcademic integrity and plagiarismSecurity and Verification in Computing

Semantics-based obfuscation-resilient binary code similarity comparison with applications to software plagiarism detection

Luo, Lannan, Ming, Jiang, Wu, Dinghao, Liu, Peng, Zhu, Sencun·2014·Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering

Abstract

Existing code similarity comparison methods, whether source or binary code based, are mostly not resilient to obfuscations. In the case of software plagiarism, emerging obfuscation techniques have made automated detection increasingly difficult. In this paper, we propose a binary-oriented, obfuscation-resilient method based on a new concept, longest common subsequence of semantically equivalent basic blocks, which combines rigorous program semantics with longest common subsequence based fuzzy matching. We model the semantics of a basic block by a set of symbolic formulas representing the input-output relations of the block. This way, the semantics equivalence (and similarity) of two blocks can be checked by a theorem prover. We then model the semantics similarity of two paths using the longest common subsequence with basic blocks as elements. This novel combination has resulted in strong resiliency to code obfuscation. We have developed a prototype and our experimental results show that our method is effective and practical when applied to real-world software.

Integrity signals

Registry

Crossref · 10.1145/2635868.2635900

Cites

1 of 1 references verified0 citation errors · 0 not checkable

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?

Cites

  • Untitled work

    Schleimer, S., S, W. D., & Aiken, A. (2003) · Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data · doi:10.1145/872757.872770 · Cited by 1,099 · cited 1× · see citing works

    “Moss is a system for determining the similarity of programs based on the winnowing algorithm [45] for document fingerprinting.”
    Background

Flagged first, then by citations

Cited by

Sorted by citations

Authors
Luo, L., Ming, J., Wu, D., Liu, P., & Zhu, S.
Affiliations
Pennsylvania State University (US)
Venue
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
Publisher
ACM
Published
2014-11-11
Pages
389-400
OpenAlex
W2009614414
Cited by
220
References
1
Citations by year
2026: 7 · 2025: 23 · 2024: 14 · 2023: 21 · 2022: 20 · 2021: 35 · 2020: 24 · 2019: 20 · 2018: 20 · 2017: 17 · 2016: 15 · 2015: 4
FWCI
10.24
Type
conference paper
Language
en
Open access
closed
Locations
ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) (publishedVersion)
Topics
  • Physical Sciences › Computer Science › Information Systems › Software Engineering Research
  • Social Sciences › Safety Research › Academic integrity and plagiarism
  • Physical Sciences › Computer Science › Artificial Intelligence › Security and Verification in Computing
Keywords
code obfuscation, software plagiarism detection, longest common subsequence, basic blocks, program semantics, theorem proving, approximate string matching

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