Detecting Fine-Grained Similarity in Binaries
<p> Large software projects contain significant code duplication, mainly due to copying and pasting code. Many techniques have been developed to identify similar code to enable applications such as refactoring, detecting bugs, and detecting illicit code reuse. Because source code is often unav...
Main Author: | |
---|---|
Language: | EN |
Published: |
University of California, Davis
2014
|
Subjects: | |
Online Access: | http://pqdtopen.proquest.com/#viewpdf?dispub=3646391 |
id |
ndltd-PROQUEST-oai-pqdtoai.proquest.com-3646391 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-PROQUEST-oai-pqdtoai.proquest.com-36463912014-12-25T04:16:15Z Detecting Fine-Grained Similarity in Binaries Saebjornsen, Andreas Computer Science <p> Large software projects contain significant code duplication, mainly due to copying and pasting code. Many techniques have been developed to identify similar code to enable applications such as refactoring, detecting bugs, and detecting illicit code reuse. Because source code is often unavailable, especially for third-party software, finding similar code in binaries becomes particularly important. Unfortunately, binaries present challenges that make it difficult to detect similar code, such as overcoming the lack of high-level information and piercing the veil of compiler optimizations. Due to these difficulties, we are yet to have practical techniques and tools for binary similarity detection. </p><p> This dissertation presents novel research that tackles these challenges toward realizing practical binary similarity detection. The central focus of the work is on automatically extracting syntactic and semantic signatures directly from the binaries. This dissertation presents a family of related algorithms, frameworks and tools for extracting these signatures. The two main tools presented are a binary clone detection tool for syntactic similarity and S<p style="font-variant: small-caps">LEUTH</p>, a tool that detects software license violations using hybrid semantic and syntactic signatures. Although software license violations are common, they often remain undetected due to challenges inherent in binary similarity detection. Examples of software license violations include code a programmer wrote for an ex-employer or open source software licensed under copy-left (such as the Linux kernel reused in a closed source router). Each presented algorithm or tool is practical, automatically finding fine-grained similarity with high precision. </p><p> This dissertation also introduces a general, mixed binary interpretation framework and its accompanying implementation for realizing the aforementioned work.</p> University of California, Davis 2014-12-24 00:00:00.0 thesis http://pqdtopen.proquest.com/#viewpdf?dispub=3646391 EN |
collection |
NDLTD |
language |
EN |
sources |
NDLTD |
topic |
Computer Science |
spellingShingle |
Computer Science Saebjornsen, Andreas Detecting Fine-Grained Similarity in Binaries |
description |
<p> Large software projects contain significant code duplication, mainly due to copying and pasting code. Many techniques have been developed to identify similar code to enable applications such as refactoring, detecting bugs, and detecting illicit code reuse. Because source code is often unavailable, especially for third-party software, finding similar code in binaries becomes particularly important. Unfortunately, binaries present challenges that make it difficult to detect similar code, such as overcoming the lack of high-level information and piercing the veil of compiler optimizations. Due to these difficulties, we are yet to have practical techniques and tools for binary similarity detection. </p><p> This dissertation presents novel research that tackles these challenges toward realizing practical binary similarity detection. The central focus of the work is on automatically extracting syntactic and semantic signatures directly from the binaries. This dissertation presents a family of related algorithms, frameworks and tools for extracting these signatures. The two main tools presented are a binary clone detection tool for syntactic similarity and S<p style="font-variant: small-caps">LEUTH</p>, a tool that detects software license violations using hybrid semantic and syntactic signatures. Although software license violations are common, they often remain undetected due to challenges inherent in binary similarity detection. Examples of software license violations include code a programmer wrote for an ex-employer or open source software licensed under copy-left (such as the Linux kernel reused in a closed source router). Each presented algorithm or tool is practical, automatically finding fine-grained similarity with high precision. </p><p> This dissertation also introduces a general, mixed binary interpretation framework and its accompanying implementation for realizing the aforementioned work.</p> |
author |
Saebjornsen, Andreas |
author_facet |
Saebjornsen, Andreas |
author_sort |
Saebjornsen, Andreas |
title |
Detecting Fine-Grained Similarity in Binaries |
title_short |
Detecting Fine-Grained Similarity in Binaries |
title_full |
Detecting Fine-Grained Similarity in Binaries |
title_fullStr |
Detecting Fine-Grained Similarity in Binaries |
title_full_unstemmed |
Detecting Fine-Grained Similarity in Binaries |
title_sort |
detecting fine-grained similarity in binaries |
publisher |
University of California, Davis |
publishDate |
2014 |
url |
http://pqdtopen.proquest.com/#viewpdf?dispub=3646391 |
work_keys_str_mv |
AT saebjornsenandreas detectingfinegrainedsimilarityinbinaries |
_version_ |
1716727323859877888 |