Patents by Inventor Ran Ettinger

Ran Ettinger 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: 9720690
    Abstract: A method of improving software architecture by untangling undesired code level dependencies is provided herein. The method includes the following stages: generating an abstract representation of a computer code in a form of a code model; recording manipulations to the computer code applied by a user to the code model; calculating a series of refactorings in the computer code that represents the recorded manipulation; and carrying out the refactorings within the computer code. Specifically, some of the refactorings include separating low level software elements on the method level in response to the user manipulations of the model.
    Type: Grant
    Filed: November 13, 2011
    Date of Patent: August 1, 2017
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Ran Ettinger, Yishai Feldman, Maayan Goldstein
  • Patent number: 9298924
    Abstract: A computer implemented method for automatically fixing a security vulnerability in a source code is disclosed. The method includes obtaining identification of code that sends tainted data to corresponding sink code in the source code; and automatically fixing the vulnerability by automatically performing code modification which is selected from the group of code modifications consisting of: code motion and code duplication.
    Type: Grant
    Filed: January 22, 2013
    Date of Patent: March 29, 2016
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Yishai Abraham Feldman, Ran Ettinger, Jonathan Bnayahu, Omer Tripp, Yinnon Haviv, Adi Sharabani, Omri Weisman
  • Patent number: 9280446
    Abstract: Disclosed are methods for finding all valid paths in a COBOL program. These methods are performed in polynomial time, allowing them to be scaled to accommodate large COBOL programs. As the methods find all valid paths in COBOL program code, by traversing and marking the nodes of the program upon being traversed. Accordingly, all usable and reachable code is indicated and marked. This increases safety when working with the code, as removal or alteration of such valid code is indicated, and thus, made unlikely.
    Type: Grant
    Filed: March 3, 2014
    Date of Patent: March 8, 2016
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Ran Ettinger, Yishai Feldman
  • Publication number: 20150248342
    Abstract: Disclosed are methods for finding all valid paths in a COBOL program. These methods are performed in polynomial time, allowing them to be scaled to accommodate large COBOL programs. As the methods find all valid paths in COBOL program code, by traversing and marking the nodes of the program upon being traversed. Accordingly, all usable and reachable code is indicated and marked. This increases safety when working with the code, as removal or alteration of such valid code is indicated, and thus, made unlikely.
    Type: Application
    Filed: March 3, 2014
    Publication date: September 3, 2015
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Ran Ettinger, Yishai Feldman
  • Patent number: 8959478
    Abstract: A method for generating a slice from a plan-based representation of a program is provided. The method comprises constructing a plan representation of a program, wherein the plan representation comprises a plurality of nodes, edges, and ports; and receiving one or more slicing criteria from a user. The slicing criteria comprise one or more variable occurrences or statements from the program, according to which a slice is generated from the plan representation.
    Type: Grant
    Filed: May 8, 2013
    Date of Patent: February 17, 2015
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman
  • Patent number: 8819637
    Abstract: A computer implemented method for automatically fixing a security vulnerability in a source code. The method includes obtaining identification of a code block that includes a code that sends tainted data to a corresponding sink code in the source code and automatically fixing the vulnerability by automatically performing code modification which is selected from the group of code modifications consisting of: code motion and code duplication.
    Type: Grant
    Filed: June 3, 2010
    Date of Patent: August 26, 2014
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Yishai Abraham Feldman, Ran Ettinger, Jonathan Bnayahu, Omer Tripp, Yinnon Haviv, Adi Sharabani, Omri Weisman
  • Patent number: 8621430
    Abstract: A method of code transformation supporting temporal abstraction of parameters is provided herein. The method includes the following stages: extracting a set of statements from an original code and further creating a residual code being the original code without the statements, wherein two or more of the extracted statements are not on a same loop in the original code; adding conditions from the original code to the extracted set of statements, such that the added conditions are sufficient to render the set of statements executable; adding statements from the original code to the residual code, such that the added statements are sufficient to render the residual code executable; and adding code portions and variables to the set of statements and the residual code, such that a passing of values between the enhanced set of statements and the residual code maintains a respective passing of values in the original code.
    Type: Grant
    Filed: March 3, 2011
    Date of Patent: December 31, 2013
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Abraham Feldman
  • Patent number: 8612954
    Abstract: A method for generating a fine slice for a program is provided. The method comprises receiving a set of slicing criteria, wherein the set of slicing criteria comprises one or more variable occurrences or control dependences; receiving a set of cut points, wherein the set of cut points comprises one or more variable occurrences or control dependences; and generating a slice according to the set of slicing criteria and the set of cut points. The generated slice includes statements related to computation of values for the set of slicing criteria and excludes statements related to computation of values for the set of cut points. Missing information is added to the slice so that the slice is executable.
    Type: Grant
    Filed: August 17, 2009
    Date of Patent: December 17, 2013
    Inventors: Aharon Abadi, Ran Ettinger, Yishai Fieldman, Jonathan Bnayahu
  • Patent number: 8543974
    Abstract: A method for generating a slice from a plan-based representation of a program is provided. The method comprises constructing a plan representation of a program, wherein the plan representation comprises a plurality of nodes, edges, and ports; and receiving one or more slicing criteria from a user. The slicing criteria comprise one or more variable occurrences or statements from the program, according to which a slice is generated from the plan representation.
    Type: Grant
    Filed: August 31, 2009
    Date of Patent: September 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman
  • Publication number: 20130247015
    Abstract: A method for generating a slice from a plan-based representation of a program is provided. The method comprises constructing a plan representation of a program, wherein the plan representation comprises a plurality of nodes, edges, and ports; and receiving one or more slicing criteria from a user. The slicing criteria comprise one or more variable occurrences or statements from the program, according to which a slice is generated from the plan representation.
    Type: Application
    Filed: May 8, 2013
    Publication date: September 19, 2013
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman
  • Patent number: 8539466
    Abstract: A method of determining suitable insertion points for inserting string sanitizers in a computer code is provided herein. The method includes the following stages: obtaining: (i) a computer code associated with a data flow of externally supplied data, from one or more sources to one or more sinks, (ii) locations of the sources, and (iii) locations of the sinks; building a graph representing control paths, data paths and semantic relationships between the control paths and the data paths of the computer code; associating all tainted data paths on the graph, being data paths that go from sources to sinks and do not include a sanitizer; and determining, on the tainted data paths, potential control paths suitable for sanitizer insertion.
    Type: Grant
    Filed: May 23, 2011
    Date of Patent: September 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Abraham Feldman, Yinnon Avraham Haviv, Adi Sharabani
  • Publication number: 20130133075
    Abstract: A computer implemented method for automatically fixing a security vulnerability in a source code is disclosed. The method includes obtaining identification of code that sends tainted data to corresponding sink code in the source code; and automatically fixing the vulnerability by automatically performing code modification which is selected from the group of code modifications consisting of: code motion and code duplication. Also disclosed are computer program product and data processing system.
    Type: Application
    Filed: January 22, 2013
    Publication date: May 23, 2013
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Yishai Abraham Feldman, Ran Ettinger, Jonathan Bnayahu, Omer Tripp, Yinnon Haviv, Adi Sharabani, Omri Weisman
  • Publication number: 20130125086
    Abstract: A method of improving software architecture by untangling undesired code level dependencies is provided herein. The method includes the following stages: generating an abstract representation of a computer code in a form of a code model; recording manipulations to the computer code applied by a user to the code model; calculating a series of refactorings in the computer code that represents the recorded manipulation; and carrying out the refactorings within the computer code. Specifically, some of the refactorings include separating low level software elements on the method level in response to the user manipulations of the model.
    Type: Application
    Filed: November 13, 2011
    Publication date: May 16, 2013
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Ran Ettinger, Yishai Feldman, Maayan Goldslein
  • Publication number: 20120304161
    Abstract: A method of determining suitable insertion points for inserting string sanitizers in a computer code is provided herein. The method includes the following stages: obtaining: (i) a computer code associated with a data flow of externally supplied data, from one or more sources to one or more sinks, (ii) locations of the sources, and (iii) locations of the sinks; building a graph representing control paths, data paths and semantic relationships between the control paths and the data paths of the computer code; associating all tainted data paths on the graph, being data paths that go from sources to sinks and do not include a sanitizer; and determining, on the tainted data paths, potential control paths suitable for sanitizer insertion.
    Type: Application
    Filed: May 23, 2011
    Publication date: November 29, 2012
    Applicant: International Business Machines Corporation
    Inventors: Aharon Ahadi, Jonathan Bnayahu, Ran Ettinger, Yishai Abraham Feldman, Yinnon Avraham Haviv, Adi Sharabani
  • Publication number: 20120227029
    Abstract: A method of code transformation supporting temporal abstraction of parameters is provided herein. The method includes the following stages: extracting a set of statements from an original code and further creating a residual code being the original code without the statements, wherein two or more of the extracted statements are not on a same loop in the original code; adding conditions from the original code to the extracted set of statements, such that the added conditions are sufficient to render the set of statements executable; adding statements from the original code to the residual code, such that the added statements are sufficient to render the residual code executable; and adding code portions and variables to the set of statements and the residual code, such that a passing of values between the enhanced set of statements and the residual code maintains a respective passing of values in the original code.
    Type: Application
    Filed: March 3, 2011
    Publication date: September 6, 2012
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Abraham Feldman
  • Publication number: 20110302566
    Abstract: A computer implemented method for automatically fixing a security vulnerability in a source code is disclosed. The method includes obtaining identification of code that sends tainted data to corresponding sink code in the source code; and automatically fixing the vulnerability by automatically performing code modification which is selected from the group of code modifications consisting of: code motion and code duplication. Also disclosed are computer program product and data processing system.
    Type: Application
    Filed: June 3, 2010
    Publication date: December 8, 2011
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Yishai A. Feldman, Ran Ettinger, Jonathan Bnayahu, Omer Tripp, Yinnon Haviv, Adi Sharabani, Omri Weisman
  • Publication number: 20110055803
    Abstract: A method for generating a slice from a plan-based representation of a program is provided. The method comprises constructing a plan representation of a program, wherein the plan representation comprises a plurality of nodes, edges, and ports; and receiving one or more slicing criteria from a user. The slicing criteria comprise one or more variable occurrences or statements from the program, according to which a slice is generated from the plan representation.
    Type: Application
    Filed: August 31, 2009
    Publication date: March 3, 2011
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman
  • Publication number: 20110041123
    Abstract: A method for generating a fine slice for a program is provided. The method comprises receiving a set of slicing criteria, wherein the set of slicing criteria comprises one or more variable occurrences or control dependences; receiving a set of cut points, wherein the set of cut points comprises one or more variable occurrences or control dependences; and generating a slice according to the set of slicing criteria and the set of cut points. The generated slice includes statements related to computation of values for the set of slicing criteria and excludes statements related to computation of values for the set of cut points. Missing information is added to the slice so that the slice is executable.
    Type: Application
    Filed: August 17, 2009
    Publication date: February 17, 2011
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman