Patents by Inventor Jonathan Bnayahu

Jonathan Bnayahu 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).

  • Publication number: 20150040105
    Abstract: According to an aspect of some embodiments of the present invention there is provided a computerized method of analyzing code of a software program for dominance relationships between a plurality of functions of the software program, the method comprising: receiving source code of a software program, the source code having a plurality of functions; identifying a plurality of intraprocedural dominator graphs each for another of the plurality of functions; combining the plurality of intraprocedural dominator graphs to create an interprocedural dominance graph with edges that logically connect between nodes of the plurality of functions; identifying a plurality of interprocedural dominance relations between nodes in different functions of the plurality of functions using the interprocedural dominance graph; and analyzing the software program according to the plurality of interprocedural dominance relations.
    Type: Application
    Filed: July 31, 2013
    Publication date: February 5, 2015
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Jonathan Bnayahu, Yishai Feldman
  • Publication number: 20140278476
    Abstract: A computerized method of identifying additional influential variables in multi-aspect adjudication frameworks comprising: acquiring an appraisal table having a set of variables affecting at least one adjudication aspect of a multi-aspect adjudication framework; identifying a set of additional variables affecting at least one adjudication aspect of a multi-aspect adjudication framework which fulfills an objective function, said objective function having a plurality of rules, said objective function assessing the compliance of at least one of said appraisal table and said set of additional variables with said plurality of rules; and outputting said set of additional variables.
    Type: Application
    Filed: March 18, 2013
    Publication date: September 18, 2014
    Applicant: International Business Machines Corporation
    Inventors: Aharon Abadi, Jonathan Bnayahu, Moti Nisenson
  • Patent number: 8832144
    Abstract: Systems and methods for verifying membership in one or more sets that are subsets of a global set are provided. The method compromises representing members of the global set by mapping each member to a distinct Boolean variable of length d, wherein 2d is not less than the number of members in the global set; representing each of the given subsets of the global set by a Boolean expression which evaluates to a first value for any of the assignments to the Boolean variables which represent members of the subset, and which evaluates to a second value for any of the assignments to the Boolean variables which represent members of the global set that are not members of the subset.
    Type: Grant
    Filed: July 11, 2011
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jonathan Bnayahu, Ariel Landau, Mordechai Nisenson
  • 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: 8819037
    Abstract: Systems and methods for verifying membership in one or more sets that are subsets of a global set are provided. The method compromises representing members of the global set by mapping each member to a distinct Boolean variable of length d, wherein 2d is not less than the number of members in the global set; representing each of the given subsets of the global set by a Boolean expression which evaluates to a first value for any of the assignments to the Boolean variables which represent members of the subset, and which evaluates to a second value for any of the assignments to the Boolean variables which represent members of the global set that are not members of the subset.
    Type: Grant
    Filed: November 11, 2012
    Date of Patent: August 26, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jonathan Bnayahu, Ariel Landau, Mordechai Nisenson
  • Publication number: 20140189656
    Abstract: Machines, systems and methods for distinguishing feasible paths in a program by statically tracking one or more execution paths are provided. The method comprises reading one or more program statements in an execution path; adding a location identification for the program statement read to an abstract representation of the execution stack at the time the program statement is executed, in response to determining that the program statement is a procedure call; updating the abstract representations of the execution stack to exclude infeasible execution paths for a possible point in program where the procedure could return or continue, in response to determining that the program statement is a return from a procedure.
    Type: Application
    Filed: December 31, 2012
    Publication date: July 3, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Aharon Abadi, Jonathan Bnayahu, Yishai Feldman
  • 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
  • Publication number: 20130247002
    Abstract: A method that includes: obtaining a computer code usable to process insurance claims; building a computer readable directed graph representing a control flow of the code, by identifying decisions and actions in the code, the graph comprising nodes connected by edges, some of the nodes being decision nodes associated with the decisions and some of the nodes being action nodes associated with the actions; determining, on the graph, benefit action nodes that are each associated with at least one monetary outcome of a specified insurance claim; identifying all logic paths that lead to each benefit action node by traversing the graph from each benefit action node backwards, each logic path comprising a sequence of preceding decision nodes and action nodes connected by edges, each set of paths being associated with a specified benefit action node representing a benefit rule; and outputting all benefit rules by presenting each specified benefit action vis à vis grouped logic paths associated with the specified benef
    Type: Application
    Filed: May 8, 2013
    Publication date: September 19, 2013
    Applicant: International Business Machines Corporation
    Inventors: Jonathan Bnayahu, Edward F. Nazarko, Mordechai Nisenson, Yahalomit Simionovici
  • 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
  • Patent number: 8468512
    Abstract: A method that includes: obtaining a computer code usable to process insurance claims; building a computer readable directed graph representing a control flow of the code, by identifying decisions and actions in the code, the graph comprising nodes connected by edges, some of the nodes being decision nodes associated with the decisions and some of the nodes being action nodes associated with the actions; determining, on the graph, benefit action nodes that are each associated with at least one monetary outcome of a specified insurance claim; identifying all logic paths that lead to each benefit action node by traversing the graph from each benefit action node backwards, each logic path comprising a sequence of preceding decision nodes and action nodes connected by edges, each set of paths being associated with a specified benefit action node representing a benefit rule; and outputting all benefit rules by presenting each specified benefit action vis à vis grouped logic paths associated with the specified benef
    Type: Grant
    Filed: October 30, 2009
    Date of Patent: June 18, 2013
    Assignee: International Business Machines Corporation
    Inventors: Jonathan Bnayahu, Edward F Nazarko, Mordechai Nisenson, Yahalomit Simionovici
  • 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: 20130117725
    Abstract: A method for monitoring requirements integrity. The method comprises receiving a plurality of requirements for an application development project having a plurality of code elements, computing a first strength for each of a plurality of traceability links each between a certain code element in a current software code version of the application development project and one of the plurality of requirements, computing a second strength for each of said plurality of traceability links in a new software code which includes a revision to the certain code element from said current software version, and generating an inconsistency notification based on a deviation between said second strength and said first strength.
    Type: Application
    Filed: November 6, 2011
    Publication date: May 9, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jonathan Bnayahu, Moti Nisenson, Yahalomit Simionovici
  • Patent number: 8413105
    Abstract: A method for managing a software development process, the method includes: receiving information representative of instances of simple software development process events; detecting, by a complex event processing (CEP) engine and in response to the received information, at least one complex situation; and invoking at least one software management process reaction responsive to a detection of the at least one complex situation.
    Type: Grant
    Filed: October 23, 2007
    Date of Patent: April 2, 2013
    Assignee: International Business Machines Corporation
    Inventors: Asaf Adi, Jonathan Bnayahu, Inbal Ronen, Avi Yaeli
  • Patent number: 8396964
    Abstract: A method, system, and computer program product for computer application analysis are provided. The method for computer application analysis includes monitoring a computer system on which an application to be analyzed is executed and interacted with by a user of the computer system. The monitoring includes: capturing screen data of the application as displayed on a display screen of the computer system including interpreting the screen data using optical character recognition (OCR); and capturing user inputs to the application to input devices of the computer system. The method further includes analyzing the captured screen data and user inputs to generate a summary of the usage of the application.
    Type: Grant
    Filed: October 28, 2010
    Date of Patent: March 12, 2013
    Assignee: International Business Machines Corporation
    Inventors: Ella Barkan, Jonathan Bnayahu, Tal Drory, Amnon Ribak
  • Publication number: 20130018901
    Abstract: Systems and methods for verifying membership in one or more sets that are subsets of a global set are provided. The method compromises representing members of the global set by mapping each member to a distinct Boolean variable of length d, wherein 2d is not less than the number of members in the global set; representing each of the given subsets of the global set by a Boolean expression which evaluates to a first value for any of the assignments to the Boolean variables which represent members of the subset, and which evaluates to a second value for any of the assignments to the Boolean variables which represent members of the global set that are not members of the subset.
    Type: Application
    Filed: July 11, 2011
    Publication date: January 17, 2013
    Applicant: International Business Machines Corporation
    Inventors: Jonathan Bnayahu, Ariel Landau, Mordechai Nisenson
  • 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