Patents by Inventor Mohammed Mostafa

Mohammed Mostafa 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: 9727436
    Abstract: The present invention discloses a solution for adding a profiling agent to a virtual machine (VM), which permits unit test programs to access information relating to memory and performance from runtime data areas of the VM. Operations permitted by the agent can include starting/stopping VM monitor, getting objects from the heap, retrieving an invocation count, determining a size of an instantiated object, getting a current thread time, and the like. Memory and performance information gathered during a test can be stored for later analysis under a test version identifier. A comparison engine can create reports that use the stored performance and memory data, which can help developers compare memory/performance deltas among different unit versions. In one embodiment, the VM can be a JAVA VIRTUAL MACHINE (JVM) and the unit test programs can be JUNIT programs.
    Type: Grant
    Filed: January 2, 2008
    Date of Patent: August 8, 2017
    Assignee: International Business Machines Corporation
    Inventor: Mohammed Mostafa
  • Publication number: 20170212941
    Abstract: Techniques are described for selecting, based on a data visualization intent specification and a defined set of data fields associated with a set of data, two or more Meta templates that meet the data visualization intent specification and that support the set of data fields, for determining chart parts that can be used within the selected Meta templates to form chart templates and for determining, based on a set of combination rules and the specification, the chart templates that meet the data visualization intent specification.
    Type: Application
    Filed: January 25, 2016
    Publication date: July 27, 2017
    Inventors: Stephen D. Gibson, Mohammed Mostafa, Graham A. Watts
  • Patent number: 9342493
    Abstract: An example method includes receiving a first input indicating user activity at a first position in a document in a document editing application. The document editing application is navigable among different partial views of the document. The document editing application displays a frame element that indicates a position of a presently displayed partial view of the document is with reference to an entirety of the document. The method further includes displaying, in response to the first input indicating user activity, a first marker, in or proximate to the frame element, indicating where the first position of user activity is located with reference to the entirety of the document.
    Type: Grant
    Filed: February 7, 2012
    Date of Patent: May 17, 2016
    Assignee: International Business Machines Corporation
    Inventors: Thomas A. MacDougall, Mohammed Mostafa
  • Patent number: 8812560
    Abstract: The present disclosure includes techniques for storing indexed values that may increase computing performance. In one example, a method includes receiving a request to store an input value in a data structure. The method also includes determining the input value is not represented by an index value of the first group of index values, generating an index value that represents the input value, and determining the generated index value is not included in the first group of representations. The method also includes generating a second group of index values wherein a first size of index values of the first group is different than a second size of index values of the second group. The method also includes modifying a storage capacity of the data structure to store the index values of the second group of the second size and storing the second group of index values in the data structure.
    Type: Grant
    Filed: February 28, 2013
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventors: Mohammed Mostafa, Graham A. Watts
  • Patent number: 8793673
    Abstract: An illustrative embodiment provides a computer-implemented process for algorithm complexity identification through inter-procedural data flow analysis receives a call graph to form a set of received nodes in a static analysis framework, identifies a parent node in the set of received nodes to form an identified parent, traverses the call graph from the identified parent node to a node to identify a function within the node to form an identified function. Each identified function is analyzed to form a complexity value in a set of complexity values. Responsive to a determination that node analysis is complete, and responsive to a determination that path analysis is complete, determines whether path analysis for the identified parent is complete. Responsive to a determination that path analysis for the identified parent is complete, sum the complexity values in the set of complexity values for the identified parent and return the complexity value for the identified parent to a requester.
    Type: Grant
    Filed: November 2, 2010
    Date of Patent: July 29, 2014
    Assignee: International Business Machines Corporation
    Inventors: Steven J. Gutz, Mohammed Mostafa, Joshua P. Tessier
  • Patent number: 8751542
    Abstract: The present disclosure includes techniques for storing indexed values that may increase computing performance. In one example, a method includes receiving a request to store an input value in a data structure. The method also includes determining the input value is not represented by an index value of the first group of index values, generating an index value that represents the input value, and determining the generated index value is not included in the first group of representations. The method also includes generating a second group of index values wherein a first size of index values of the first group is different than a second size of index values of the second group. The method also includes modifying a storage capacity of the data structure to store the index values of the second group of the second size and storing the second group of index values in the data structure.
    Type: Grant
    Filed: June 24, 2011
    Date of Patent: June 10, 2014
    Assignee: International Business Machines Corporation
    Inventors: Mohammed Mostafa, Graham A. Watts
  • Publication number: 20130205203
    Abstract: An example method includes receiving a first input indicating user activity at a first position in a document in a document editing application. The document editing application is navigable among different partial views of the document. The document editing application displays a frame element that indicates a position of a presently displayed partial view of the document is with reference to an entirety of the document. The method further includes displaying, in response to the first input indicating user activity, a first marker, in or proximate to the frame element, indicating where the first position of user activity is located with reference to the entirety of the document.
    Type: Application
    Filed: February 7, 2012
    Publication date: August 8, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Thomas A. MacDougall, Mohammed Mostafa
  • Patent number: 8473899
    Abstract: Access is obtained to an input object-oriented computer program. In the input object-oriented computer program, semantically equivalent objects are identified, which exist in different memory locations. If at least one of: a number of occurrences for the semantically equivalent objects exceeds a first threshold value, the threshold value being at least two; and a number of equality tests on the semantically equivalent objects exceeds a second threshold value, then a further step includes identifying an application program interface to reduce the semantically equivalent objects to a single object in a single memory location.
    Type: Grant
    Filed: December 15, 2009
    Date of Patent: June 25, 2013
    Assignee: International Business Machines Corporation
    Inventors: Paolina Centonze, Mohammed Mostafa, Marco Pistoia, Takaaki Tateishi
  • Publication number: 20120327097
    Abstract: The present disclosure includes techniques for storing indexed values that may increase computing performance. In one example, a method includes receiving a request to store an input value in a data structure. The method also includes determining the input value is not represented by an index value of the first group of index values, generating an index value that represents the input value, and determining the generated index value is not included in the first group of representations. The method also includes generating a second group of index values wherein a first size of index values of the first group is different than a second size of index values of the second group. The method also includes modifying a storage capacity of the data structure to store the index values of the second group of the second size and storing the second group of index values in the data structure.
    Type: Application
    Filed: June 24, 2011
    Publication date: December 27, 2012
    Applicant: International Business Machines Corporation
    Inventors: Mohammed Mostafa, Graham A. Watts
  • Publication number: 20120110549
    Abstract: An illustrative embodiment of a computer-implemented process for detecting code breakage using source code change history receives a point in time within an identified range of time to form a selected time, receives a set of source files associated with the a selected time, receives a set of history files associated with the received set of source files and initializes a workspace in a sandbox using the set of source files and the set of history files. The computer-implemented process incrementally executes the received set of source files from the selected time forward, determines whether a code break occurs and responsive to a determination that the code break occurs, presents a list of files. The computer-implemented process receives an identified file from the list of files to form a suspect file, and receives a correction for the suspect file.
    Type: Application
    Filed: June 6, 2011
    Publication date: May 3, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steven John Earl Gutz, Thomas Anthony MacDougall, Mohammed Mostafa
  • Publication number: 20110145785
    Abstract: Access is obtained to an input object-oriented computer program. In the input object-oriented computer program, semantically equivalent objects are identified, which exist in different memory locations. If at least one of: a number of occurrences for the semantically equivalent objects exceeds a first threshold value, the threshold value being at least two; and a number of equality tests on the semantically equivalent objects exceeds a second threshold value, then a further step includes identifying an application program interface to reduce the semantically equivalent objects to a single object in a single memory location.
    Type: Application
    Filed: December 15, 2009
    Publication date: June 16, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Paolina Centonze, Mohammed Mostafa, Marco Pistoia, Takaaki Tateishi
  • Publication number: 20110107316
    Abstract: An illustrative embodiment provides a computer-implemented process for algorithm complexity identification through inter-procedural data flow analysis receives a call graph to form a set of received nodes in a static analysis framework, identifies a parent node in the set of received nodes to form an identified parent, traverses the call graph from the identified parent node to a node to identify a function within the node to form an identified function. Each identified function is analyzed to form a complexity value in a set of complexity values. Responsive to a determination that node analysis is complete, and responsive to a determination that path analysis is complete, determines whether path analysis for the identified parent is complete. Responsive to a determination that path analysis for the identified parent is complete, sum the complexity values in the set of complexity values for the identified parent and return the complexity value for the identified parent to a requester.
    Type: Application
    Filed: November 2, 2010
    Publication date: May 5, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: STEVEN J. GUTZ, MOHAMMED MOSTAFA, JOSHUA P. TESSIER
  • Publication number: 20100042974
    Abstract: A method of constructing a software build using a static structural analysis system is disclosed. A software build configuration may be run and analyzed by a software analyzer to detect dependencies among code classes and components. A code dependency map is constructed identifying code level dependencies. The code dependency map may be referenced for code classes and components selected for modification. Identified dependency relationships with the selected code classes and components enable a builder to rebuild those code classes and components affected by the modification. Additionally, the software analyzer may identify undesirable dependencies and anti-patterns in potential need of deletion or modification.
    Type: Application
    Filed: August 12, 2008
    Publication date: February 18, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Steve Gutz, Tom MacDougall, Mohammed Mostafa
  • Publication number: 20090172664
    Abstract: The present invention discloses a solution for adding a profiling agent to a virtual machine (VM), which permits unit test programs to access information relating to memory and performance from runtime data areas of the VM. Operations permitted by the agent can include starting/stopping VM monitor, getting objects from the heap, retrieving an invocation count, determining a size of an instantiated object, getting a current thread time, and the like. Memory and performance information gathered during a test can be stored for later analysis under a test version identifier. A comparison engine can create reports that use the stored performance and memory data, which can help developers compare memory/performance deltas among different unit versions. In one embodiment, the VM can be a JAVA VIRTUAL MACHINE (JVM) and the unit test programs can be JUNIT programs.
    Type: Application
    Filed: January 2, 2008
    Publication date: July 2, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: MOHAMMED MOSTAFA
  • Patent number: 7283533
    Abstract: A method for directly converting packet-based voice data of two non-compatible formats, (e.g., VoIP and VOATM), is described. A VoIP call agent sets a connection between a VoIP edge gateway and an interworking unit (IWU). The IWU allows the VoATM network to appear as a TDM network to the VoIP call agent. The VoIP call agent selects a virtual trunk group and channel identification code through the interworking unit and transmits the selection to a VoATM call agent. The IWU allows the VoIP network to appear as a TDM network to the VoATM call agent such that the VoATM call agent establishes a connection between the virtual trunk group and a VoATM network device. The IWU allows the VoATM network to appear as a TDM network to the VoIP call agent such that the VoIP call agent establishes a connection between the virtual trunk group and a VoIP network device.
    Type: Grant
    Filed: June 25, 2001
    Date of Patent: October 16, 2007
    Assignee: Cisco Technology, Inc.
    Inventors: Rajesh Kumar, David Hughes, Mohammed Mostafa, John Ellis
  • Publication number: 20070143680
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to comparing artifacts and provide a novel and non-obvious method, system and computer program product for multi-contextual navigation of deltas in a hierarchy. In one embodiment of the invention, a method for multi-contextual navigation can include rendering objects for an artifact utilizing a default contextual view of the objects, selecting an object in the default contextual view and directing an inward navigation to a different object in the default contextual view. Notably, responsive to the directing of the inward navigation to the different object, a different contextual view can be provided for at least a portion of the objects defined by the different object.
    Type: Application
    Filed: December 21, 2005
    Publication date: June 21, 2007
    Applicant: International Business Machines Corporation
    Inventors: Scott Cowan, Kim Letkeman, Mohammed Mostafa, Frederic Plante, Vishwanath Ramaswamy
  • Publication number: 20070136394
    Abstract: Embodiments of the present invention address deficiencies of the art in respect to merging artifacts in a version control system and provide a novel and non-obvious method, system and computer program product for compositing deltas when merging artifacts in a version control system. In one embodiment, a method for compositing deltas for artifacts can be provided. The method can include generating deltas for a contributor artifact of an ancestor artifact, identifying interrelated ones of the deltas and grouping the interrelated ones of the deltas into a composited set of deltas. The method further can include rendering the composited set of deltas in a hierarchical view of a compare view for a version control data processing system in a development platform.
    Type: Application
    Filed: December 8, 2005
    Publication date: June 14, 2007
    Applicant: International Business Machines Corporation
    Inventors: Scott Cowan, Kim Letkeman, Mohammed Mostafa
  • Publication number: 20060117075
    Abstract: A method of merging a plurality of different versions of an electronic document during a software development process can include identifying the plurality of different versions of the electronic document. The electronic document can have a defined structure. The method further can include determining a plurality of deltas between the different versions and determining relationships, between individual ones of the plurality of deltas according to the defined structure of the electronic document. One or more of the plurality of deltas can be selectively accepted in a merged electronic document according to the determined relationships.
    Type: Application
    Filed: December 1, 2004
    Publication date: June 1, 2006
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Scott Cowan, Mohammed Mostafa, Frederic Plante