Patents by Inventor Yishai Feldman
Yishai Feldman 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: 9195458Abstract: 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: GrantFiled: July 31, 2013Date of Patent: November 24, 2015Assignee: International Business Machines CorporationInventors: Aharon Abadi, Moria Abadi, Jonathan Bnayahu, Yishai Feldman
-
Publication number: 20150248342Abstract: 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: ApplicationFiled: March 3, 2014Publication date: September 3, 2015Applicant: International Business Machines CorporationInventors: Aharon Abadi, Moria Abadi, Ran Ettinger, Yishai Feldman
-
Patent number: 9009684Abstract: A computer-implemented method and apparatus for transforming code to embedded environments, the method comprising: receiving program code not complying with a limitation of an embedded computing environment; transforming at least part of the program code to modified program code in order for the modified program code to be in compliance with the limitation; and storing the modified program code on a storage device. wherein the modified program code complies with the limitation of the embedded computing environment.Type: GrantFiled: April 18, 2012Date of Patent: April 14, 2015Assignee: International Business Machines CorporationInventors: Aharon Abadi, Moria Abadi, Yishai Feldman, Maayan Goldstein
-
Patent number: 8966455Abstract: 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: GrantFiled: December 31, 2012Date of Patent: February 24, 2015Assignee: International Business Machines CorporationInventors: Aharon Abadi, Jonathan Bnayahu, Yishai Feldman
-
Patent number: 8959478Abstract: 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: GrantFiled: May 8, 2013Date of Patent: February 17, 2015Assignee: International Business Machines CorporationInventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman
-
Publication number: 20150040105Abstract: 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: ApplicationFiled: July 31, 2013Publication date: February 5, 2015Applicant: International Business Machines CorporationInventors: Aharon Abadi, Moria Abadi, Jonathan Bnayahu, Yishai Feldman
-
Publication number: 20140189656Abstract: 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: ApplicationFiled: December 31, 2012Publication date: July 3, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Aharon Abadi, Jonathan Bnayahu, Yishai Feldman
-
Publication number: 20130283248Abstract: A computer-implemented method and apparatus for transforming code to embedded environments, the method comprising: receiving program code not complying with a limitation of an embedded computing environment; transforming at least part of the program code to modified program code in order for the modified program code to be in compliance with the limitation; and storing the modified program code on a storage device. wherein the modified program code complies with the limitation of the embedded computing environment.Type: ApplicationFiled: April 18, 2012Publication date: October 24, 2013Applicant: International Business Machines CorporationInventors: Aharon Abadi, Moria Abadi, Yishai Feldman, Maayan Goldstein
-
Patent number: 8543974Abstract: 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: GrantFiled: August 31, 2009Date of Patent: September 24, 2013Assignee: International Business Machines CorporationInventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman
-
Publication number: 20130247015Abstract: 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: ApplicationFiled: May 8, 2013Publication date: September 19, 2013Applicant: International Business Machines CorporationInventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman
-
Publication number: 20130125086Abstract: 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: ApplicationFiled: November 13, 2011Publication date: May 16, 2013Applicant: International Business Machines CorporationInventors: Aharon Abadi, Ran Ettinger, Yishai Feldman, Maayan Goldslein
-
Publication number: 20110302566Abstract: 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: ApplicationFiled: June 3, 2010Publication date: December 8, 2011Applicant: International Business Machines CorporationInventors: Aharon Abadi, Yishai A. Feldman, Ran Ettinger, Jonathan Bnayahu, Omer Tripp, Yinnon Haviv, Adi Sharabani, Omri Weisman
-
Publication number: 20110055803Abstract: 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: ApplicationFiled: August 31, 2009Publication date: March 3, 2011Applicant: International Business Machines CorporationInventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman
-
Publication number: 20110041123Abstract: 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: ApplicationFiled: August 17, 2009Publication date: February 17, 2011Applicant: International Business Machines CorporationInventors: Aharon Abadi, Jonathan Bnayahu, Ran Ettinger, Yishai Feldman