DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: System and method for identifying and comparing code by semantic abstractions

Abstract

Certain embodiments of the present invention are configured to facilitate analyzing computer code more efficiently. For example, by conducting a first level abstraction (e.g., symbolic interpretation and algebraic simplification) and a second level abstraction (e.g., generalization) of the computer code, the analysis may more accurately account for variations in the code that may occur as a result of register renaming, instruction reordering, choice of instructions, etc. while minimizing the cost of computations required to perform the analysis.

Inventors:
Issue Date:
Research Org.:
Univ. of Louisiana, Lafayette, LA (United States)
Sponsoring Org.:
USDOE; Defense Advanced Research Projects Agency (DARPA); US Air Force Office of Scientific Research (AFOSR)
OSTI Identifier:
1986743
Patent Number(s):
11481494
Application Number:
16/922,293
Assignee:
University of Louisiana at Lafayette (Lafayette, LA)
DOE Contract Number:  
FA8750-10-C-0171; FA8750-12-C-0144; FA9550-09-1-0715
Resource Type:
Patent
Resource Relation:
Patent File Date: 07/07/2020
Country of Publication:
United States
Language:
English

Citation Formats

Lakhotia, Arun. System and method for identifying and comparing code by semantic abstractions. United States: N. p., 2022. Web.
Lakhotia, Arun. System and method for identifying and comparing code by semantic abstractions. United States.
Lakhotia, Arun. Tue . "System and method for identifying and comparing code by semantic abstractions". United States. https://www.osti.gov/servlets/purl/1986743.
@article{osti_1986743,
title = {System and method for identifying and comparing code by semantic abstractions},
author = {Lakhotia, Arun},
abstractNote = {Certain embodiments of the present invention are configured to facilitate analyzing computer code more efficiently. For example, by conducting a first level abstraction (e.g., symbolic interpretation and algebraic simplification) and a second level abstraction (e.g., generalization) of the computer code, the analysis may more accurately account for variations in the code that may occur as a result of register renaming, instruction reordering, choice of instructions, etc. while minimizing the cost of computations required to perform the analysis.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2022},
month = {10}
}

Works referenced in this record:

Systems and Methods for Malware Classification
patent-application, July 2010


Discovering code and data in a binary executable program
patent, January 2000


Program Compiler with Abstraction Composer
patent-application, July 2004


Block Translation Optimizations for Program Code Conversions
patent-application, December 2004


Engineering Abstractions in Model Checking and Testing
conference, January 2009


Abstraction of configurable processor functionality for operating systems portability
patent, July 2004


Guidelines For Pursuing and Revealing Data Abstractions
journal, February 2021


Measuring Software Redundancy
conference, May 2015


Low-Level Code Rewriter Verification
patent-application, September 2011


Detect functionally equivalent code fragments via k-nearest neighbor algorithm
conference, October 2012


Path Navigation in Abstract Syntax Trees
patent-application, June 2010


Search utility program for software developers
patent, March 2014


Scalable detection of semantic clones
conference, January 2008


Semantic-Enabled Clone Detection
conference, July 2013


Partial Dead Code Elimination Optimizations for Program Code Conversion
patent-application, November 2004