Patents by Inventor Moria Abadi

Moria Abadi 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: 20170228011
    Abstract: A method for optimizing use of location services in mobile applications, comprising: analyzing a computer code executable on a processor of a mobile device; identifying in the computer code program instructions for receiving location data from at least one location service device of the mobile device; analyzing the program instructions according to a set of location request rules to identify program instructions violating at least one of the location request rules; and providing at least one suggested change to the program instructions according to the at least one of the location request rules.
    Type: Application
    Filed: February 9, 2016
    Publication date: August 10, 2017
    Inventors: Aharon Abadi, Moria Abadi, Mordechai Nisenson
  • Patent number: 9710264
    Abstract: A method for performing data flow analysis of computer code, comprising: providing computer code of a computer program having a plurality of user interface screens; dividing the computer code to a plurality of portions such that each one of the portions includes code for inducing at least one of loading and using one of the user interface screens; performing a variable usage analysis to detect which variables are at least one of calculated and used in each one of the portions; constructing a data dependence model defining dependencies among the portions based on the variable usage analysis; and identifying, for at least one of the portions and using the data dependence model, at least one unnecessary variable loaded in one of the user interface screens and not used in a respective portion and in a group of portions depending on the respective portion.
    Type: Grant
    Filed: October 28, 2013
    Date of Patent: July 18, 2017
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush
  • Patent number: 9710244
    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: Grant
    Filed: September 21, 2015
    Date of Patent: July 18, 2017
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Jonathan Bnayahu, Yishai Feldman
  • Publication number: 20170161060
    Abstract: Computer implemented method of refactoring JavaScript code for multi-threading concurrent execution, comprising: 1) Designating a source code which includes background code entries indicated by a user as executed in background. 2) Analyzing the source code entries to create a dependency record. 3) Creating a background process comprising the background code entries and removing code entries which read or write from DOM(s). 4) Creating a handler code comprising the write code entries. 5) Creating main code which includes: (a) Remaining code entries not included in the background process and the handler code. (b) Process initiation code initiating the background process. The process initiation code is placed at a process initiation point identified based on the dependency record which follows the read code entries in the source code execution path and precedes the write code entries. 6) Outputting refactored code file(s) which include the background process, handler code and main code.
    Type: Application
    Filed: December 3, 2015
    Publication date: June 8, 2017
    Inventors: Aharon Abadi, Moria Abadi
  • Publication number: 20170161035
    Abstract: The present invention, in some embodiments thereof comprises a computer implemented method of detecting global variables in JavaScript code, and adding local variables in place of the global variables, comprising receiving a JavaScript code containing at least one of a plurality of globally defined functions, identifying at least one of: one or more confined global variables which receive a value within a first JavaScript scope wherein the value is not referenced outside of the first JavaScript scope, and one or more repeating global variables accessed repeatedly within a second JavaScript scope, and adding local variables in place of at least one of the confined global variables and the repeating global variables.
    Type: Application
    Filed: December 3, 2015
    Publication date: June 8, 2017
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush, Yishai A. Feldman
  • Publication number: 20170147475
    Abstract: Embodiments of the present invention provide a method and system for finding uninitialized variables outside the local scope. Initially, a source code of a program is received. The source code may include multiple functions. A checked scope is determined for at least one variable in the source code. The checked scope includes a local scope. Additionally, the local scope is accessed using at least one function call of the functions. Static analysis is run, covering the checked scope for the at least one variable in the source code. At least one inter-procedural dependency is identified to determine whether the at least one variable in the local scope is uninitialized. Responsive to determining that the at least one variable in the local scope is uninitialized the at least one variable is displayed to a user.
    Type: Application
    Filed: November 25, 2015
    Publication date: May 25, 2017
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush, Yishai A. Feldman
  • Publication number: 20170091073
    Abstract: A computer implemented method of detecting code antipatterns, comprising: 1) Receiving a code containing one or more of a plurality of code segments, each one of the one or more code segments includes one or more of a plurality of patterns. 2) Automatically analyzing each one of the one or more code segment to create an array of a plurality of features vectors, each one of the plurality of features vectors maps a plurality of predefined features found in one or more patterns. 3) Matching each one of the plurality of features vectors with a plurality of template features vectors each representing one of a plurality of antipatterns, the plurality of template features vectors is stored in an antipatterns dataset. 4) Determining a presence or an absence of each of the plurality of antipatterns within each of the one or more code segments according to the matching.
    Type: Application
    Filed: September 30, 2015
    Publication date: March 30, 2017
    Inventors: Aharon Abadi, Moria Abadi, Omer Tripp
  • Publication number: 20170060733
    Abstract: A method of determining code coverage of an application by test(s) (wherein code may include UI elements). The method comprises executing a code test on at least one portion of a tested code of an application in one or more iterations, wherein in each one of the plurality of iterations, selecting at least one of a plurality of atomic code elements of the tested code, applying the code test on a version of the code that does not include the at least one selected atomic element, and classifying the at least one selected atomic element as covered by the code test when the code test fails and as not covered in the code test when the code test passes.
    Type: Application
    Filed: August 31, 2015
    Publication date: March 2, 2017
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush, Samuel Kallner
  • Patent number: 9477448
    Abstract: Techniques for refactoring a screen-oriented computing program are described herein. The techniques include a method that identifies screens of the computing program, and determines a starting point of the computing program based on the identified screens. The techniques include refactoring the computing program based on the starting point and the identified screens.
    Type: Grant
    Filed: October 27, 2013
    Date of Patent: October 25, 2016
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush
  • Patent number: 9424006
    Abstract: According to an aspect of some embodiments of the present invention there is provided a method for changing a program code to decrease execution time. The method comprises an action of receiving a program code, comprising function calls, with an entry and a target function. The method comprises analyzing the function calls between the entry function and the target function. A first program code is generated, comprising some of the function calls executed before the target function. A second program code is generated, comprising some of the function calls executed after the target function. The function calls executed before the target function are replaced with the first program code. The function calls executed after the target function are removed. The second program code is added to the program code to execute after the target function as a background process.
    Type: Grant
    Filed: December 24, 2014
    Date of Patent: August 23, 2016
    Assignee: International Business Machines Corporation.
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush
  • Publication number: 20160188435
    Abstract: Methods, storage systems and computer program products implement embodiments of the present invention that include receiving, by a computer, source code for an application, the source code including multiple instructions to be executed in a single thread. A first static analysis is performed on the application source code in order to identify a given instruction including an asynchronous handler, and a plurality of entry points to the application. Based on the static analysis, an order of execution of the multiple instructions is determined, and an intermediate representation is generated that includes the multiple instructions arranged in the determined order of execution. In some embodiments, a second static analysis can be performed on the intermediate representation that can identify an anti-pattern in the intermediate representation, and then correct the anti-pattern in the source code.
    Type: Application
    Filed: December 29, 2014
    Publication date: June 30, 2016
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush
  • Publication number: 20160188304
    Abstract: According to an aspect of some embodiments of the present invention there is provided a method for changing a program code to decrease execution time. The method comprises an action of receiving a program code, comprising function calls, with an entry and a target function. The method comprises analyzing the function calls between the entry function and the target function. A first program code is generated, comprising some of the function calls executed before the target function. A second program code is generated, comprising some of the function calls executed after the target function. The function calls executed before the target function are replaced with the first program code. The function calls executed after the target function are removed. The second program code is added to the program code to execute after the target function as a background process.
    Type: Application
    Filed: December 24, 2014
    Publication date: June 30, 2016
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush
  • Publication number: 20160188650
    Abstract: According to an aspect, a content fragment of a legacy model file is mapped via a processor to a plurality of web files. A change to the content fragment of the legacy model file is detected by the processor. One or more modified web files corresponding to the changed content fragment is generated by the processor. The one or more modified web files corresponding to the detected changes in the content fragment of the legacy model file are sent via the processor to a remote computing device.
    Type: Application
    Filed: October 19, 2015
    Publication date: June 30, 2016
    Inventors: Moria Abadi, Yuval Gil, David Hirsch, Alexander Rekhter
  • Publication number: 20160188651
    Abstract: According to an aspect, a content fragment of a legacy model file is mapped via a processor to a plurality of web files. A change to the content fragment of the legacy model file is detected by the processor. One or more modified web files corresponding to the changed content fragment is generated by the processor. The one or more modified web files corresponding to the detected changes in the content fragment of the legacy model file are sent via the processor to a remote computing device.
    Type: Application
    Filed: December 31, 2014
    Publication date: June 30, 2016
    Inventors: Moria Abadi, Yuval Gil, David Hirsch, Alexander Rekhter
  • Publication number: 20160182654
    Abstract: A computer-implemented method, a computerized apparatus and a computer program product, the method comprising: receiving a program to be executed on a mobile device; building a data structure representing states within the program and transitions between the states; and based on the data structure, determining by a processor a location of at least one command related to using data retrieved from a server, such that at least one fetching command is to be provided for the data to be available when execution reaches the location.
    Type: Application
    Filed: December 17, 2014
    Publication date: June 23, 2016
    Inventors: Aharon Abadi, Moria Abadi, Jonathan Bnayahu, Idan Ben-Harrush
  • 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: 20160011956
    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: September 21, 2015
    Publication date: January 14, 2016
    Inventors: Aharon Abadi, Moria Abadi, Jonathan Bnayahu, Yishai Feldman
  • Patent number: 9195458
    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: Grant
    Filed: July 31, 2013
    Date of Patent: November 24, 2015
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Jonathan Bnayahu, 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: 9069562
    Abstract: Techniques for computer program slicing are described herein. The techniques include screens of a mobile computing program having a behavior. The method may include determining a subset of screens associated with the behavior. A slice of the mobile computing program may be generated based on the subset of screens of the mobile computing program such that the slice produces the same behavior of the mobile computing program.
    Type: Grant
    Filed: October 23, 2013
    Date of Patent: June 30, 2015
    Assignee: International Business Machines Corporation
    Inventors: Aharon Abadi, Moria Abadi, Idan Ben-Harrush