Patents by Inventor Thanassis Avgerinos

Thanassis Avgerinos has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 9619375
    Abstract: An automatic software testing machine may be configured to provide an advanced symbolic execution approach to software testing that combines dynamic symbolic execution and static symbolic execution, leveraging the strengths of each and avoiding the vulnerabilities of each. One or more software testing machines within a software testing system may be configured to automatically and dynamically alternate between dynamic symbolic execution and static symbolic execution, based on partial control flow graphs of portions of the software code to be tested. In some example embodiments, a software testing machine begins with dynamic symbolic execution, but switches to static symbolic execution opportunistically. In static mode, instead of checking entire programs for verification, the software testing machine may only check one or more program fragments for testing purposes. Thus, the software testing machine may benefit from the strengths of both dynamic and static symbolic execution.
    Type: Grant
    Filed: May 21, 2015
    Date of Patent: April 11, 2017
    Assignee: Carnegie Mellon University
    Inventors: Thanassis Avgerinos, Alexandre Rebert, David Brumley
  • Patent number: 9542559
    Abstract: Systems and methods for performing hybrid symbolic execution to detect exploitable bugs in binary code are described. In some example embodiments, the systems and methods determine that resources associated with an execution client performing symbolic execution of a target program are below, at, or above a threshold performance level, generate checkpoints for active executing paths of the online symbolic execution, and cause the execution client to perform symbolic execution in response to the determination that the resources are at or above the threshold performance level.
    Type: Grant
    Filed: August 17, 2015
    Date of Patent: January 10, 2017
    Assignee: Carnegie Mellon University
    Inventors: David Brumley, Sang Kil Cha, Thanassis Avgerinos, Alexandre Rebert
  • Publication number: 20160196433
    Abstract: Systems and methods for performing hybrid symbolic execution to detect exploitable bugs in binary code are described. In some example embodiments, the systems and methods determine that resources associated with an execution client performing symbolic execution of a target program are below, at, or above a threshold performance level, generate checkpoints for active executing paths of the online symbolic execution, and cause the execution client to perform symbolic execution in response to the determination that the resources are at or above the threshold performance level.
    Type: Application
    Filed: August 17, 2015
    Publication date: July 7, 2016
    Inventors: David Brumley, Sang Kil Cha, Thanassis Avgerinos, Alexandre Rebert
  • Publication number: 20150339217
    Abstract: An automatic software testing machine may be configured to provide an advanced symbolic execution approach to software testing that combines dynamic symbolic execution and static symbolic execution, leveraging the strengths of each and avoiding the vulnerabilities of each. One or more software testing machines within a software testing system may be configured to automatically and dynamically alternate between dynamic symbolic execution and static symbolic execution, based on partial control flow graphs of portions of the software code to be tested. In some example embodiments, a software testing machine begins with dynamic symbolic execution, but switches to static symbolic execution opportunistically. In static mode, instead of checking entire programs for verification, the software testing machine may only check one or more program fragments for testing purposes. Thus, the software testing machine may benefit from the strengths of both dynamic and static symbolic execution.
    Type: Application
    Filed: May 21, 2015
    Publication date: November 26, 2015
    Inventors: Thanassis Avgerinos, Alexandre Rebert, David Brumley
  • Patent number: 9183396
    Abstract: Systems and methods for performing hybrid symbolic execution to detect exploitable bugs in binary code are described. In some example embodiments, the systems and methods determine that resources associated with an execution client performing symbolic execution of a target program are below, at, or above a threshold performance level, generate checkpoints for active executing paths of the online symbolic execution, and cause the execution client to perform symbolic execution in response to the determination that the resources are at or above the threshold performance level.
    Type: Grant
    Filed: May 21, 2013
    Date of Patent: November 10, 2015
    Assignee: Carnegie Mellon University
    Inventors: David Brumley, Sang Kil Cha, Thanassis Avgerinos, Alexandre Rebert
  • Patent number: 9135405
    Abstract: A system and method for automatically generating exploits, such as exploits for target code, is described. In some implementations, the system received binary code and/or source code of a software applications, finds one or more exploitable bugs within the software application, and automatically generates exploits for the exploitable bugs.
    Type: Grant
    Filed: May 25, 2012
    Date of Patent: September 15, 2015
    Assignee: Carnegie Mellon University
    Inventors: David Brumley, Sang Kil Cha, Thanassis Avgerinos
  • Publication number: 20130312103
    Abstract: Systems and methods for performing hybrid symbolic execution to detect exploitable bugs in binary code are described. In some example embodiments, the systems and methods determine that resources associated with an execution client performing symbolic execution of a target program are below, at, or above a threshold performance level, generate checkpoints for active executing paths of the online symbolic execution, and cause the execution client to perform symbolic execution in response to the determination that the resources are at or above the threshold performance level.
    Type: Application
    Filed: May 21, 2013
    Publication date: November 21, 2013
    Applicant: Carnegie Mellon University
    Inventors: David Brumley, Sang Kil Cha, Thanassis Avgerinos, Alexandre Rebert
  • Publication number: 20120317647
    Abstract: A system and method for automatically generating exploits, such as exploits for target code, is described. In some implementations, the system received binary code and/or source code of a software applications, finds one or more exploitable bugs within the software application, and automatically generates exploits for the exploitable bugs.
    Type: Application
    Filed: May 25, 2012
    Publication date: December 13, 2012
    Applicant: CARNEGIE MELLON UNIVERSITY
    Inventors: David Brumley, Sang Kil Cha, Thanassis Avgerinos