Including Graph Or Tree Representation (e.g., Abstract Syntax Tree Or Ast) Patents (Class 717/144)
  • Patent number: 11755297
    Abstract: Systems and methods for compiling functions into a single entity are disclosed. An execution graph representing dependencies between a plurality of functions is analyzed to identify portions of the graph that include two or more of the plurality of functions used as a combined entity and have a single entry point. The plurality of functions corresponds to a decomposed application. The processing device combines the functions of each of the identified one or more portions of the graph into a composition. For each portion of the graph that includes two or more of the plurality of functions used as a combined entity and has multiple entry points, the processing device determines whether to combine each function providing a subsequent entry point to the portion into a composition with other functions of the portion based at least in part on a network latency and a scale efficiency of the application.
    Type: Grant
    Filed: June 2, 2022
    Date of Patent: September 12, 2023
    Assignee: Red Hat, Inc.
    Inventor: Markus Thoemmes
  • Patent number: 11681557
    Abstract: Various approaches for managing computational resources in a hyperconverged infrastructure (HCI) cluster include identifying the hosts associated with the HCI cluster for providing one or more computational resources thereto; for each of the hosts, determining a revenue and/or an expense for allocating the computational resource(s) to the HCI cluster; and determining whether to clone, suspend or terminate each host in the HCI cluster based at least in part on the associated revenue and/or expense.
    Type: Grant
    Filed: July 31, 2020
    Date of Patent: June 20, 2023
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Guy Yardeni, Aditya Bhat, Ryan McDonald, Nitya Vyas, Shravan Sriram, Aditya Deo, Alexander Nish, Wei Duan, Rich Hammond, David Ohsie
  • Patent number: 11663066
    Abstract: Clustering structured log data by key-values includes receiving, via a user interface, a request to apply an operator to cluster a set of raw log messages according to values for a set of keys associated with the request. At least a portion of each raw log message comprises structured machine data including a set of key-value pairs. It further includes receiving a raw log message in the set of raw log messages. It further includes determining whether to include the raw log message in a cluster based at least in part on an evaluation of values in the structured machine data of the raw log message for the set of keys associated with the request. The cluster is included in a plurality of clusters. Each cluster in the plurality is associated with a different combination of values for the set of keys associated with the request. It further includes providing, via the user interface, information associated with the cluster.
    Type: Grant
    Filed: September 1, 2020
    Date of Patent: May 30, 2023
    Assignee: Sumo Logic, Inc.
    Inventors: Udit Saxena, Reetika Roy, Ryley Higa, David M. Andrzejewski, Bashyam Tca
  • Patent number: 11599478
    Abstract: In order to reduce the number of instructions that the compiler generates to load the address of a global variable into a register, the compiler uses a technique that analyzes the global variables used in each function in order to estimate which global variables will be located within the same memory page and have a common base address. A base global variable is selected for each function whose address is fully resolved. The address of each subsequent global variable is constructed using an offset relative to the address of the base global variable that is based on the subsequent global variable's position in a global variable order list.
    Type: Grant
    Filed: April 22, 2022
    Date of Patent: March 7, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Todd Edward Sharpe, Ten Tzen
  • Patent number: 11422924
    Abstract: A method for identifying optimal tests includes defining functional coverage by a test suite based on a functional coverage model of a System Under Test (SUT). The test suite includes a plurality of tests. The functional coverage model includes a plurality of attributes, each attribute having a set of possible values. The functional coverage model defines possible combinations of values of the attributes as covered by the test suite. A subset of the possible combinations of values is determined. A subset of the plurality of tests is selected that is operative to cover the determined subset of the possible combinations of values. A plurality of trees is generated to represent the selected subset of tests. Complexity of the generated trees is analyzed based on user-specified criteria. An optimal tree is selected from the subset of the plurality of trees to achieve the objective of the test suite.
    Type: Grant
    Filed: June 13, 2019
    Date of Patent: August 23, 2022
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Andrew Hicks, Dale E. Blue, Ryan Thomas Rawlins
  • Patent number: 11366901
    Abstract: A system configured for identifying insider threats in source code conducts an automated analysis designed to identify instances of insider threats. The system performs a static analysis on results from the automated analysis to identify instances of keywords related to methods and targets of insider threats, external data being used, code layering is used to obfuscate a content. The system identifies points of correlations between instances found by performing the static analysis and assigns weight values to code portions based on the number of points of correlations found in the code portions. The system identifies code portions having weight values above a threshold value, thereby detecting instances of insider threats in source code.
    Type: Grant
    Filed: October 7, 2020
    Date of Patent: June 21, 2022
    Assignee: Bank of America Corporation
    Inventors: Jack Lawson Bishop, III, Jason Conrad Starin, Kevin Dean Kirkwood
  • Patent number: 11334469
    Abstract: A computing device is provided, including a processor configured to receive source code at a compiler. The source code may include at least one compound conditional having a plurality of conditions. For each condition of the plurality of conditions, the source code may further include a respective code block including instructions to evaluate the condition. For each ordering of a plurality of orderings of the plurality of conditions, the processor may determine that the ordering satisfies one or more legality constraints. For each ordering of the plurality of orderings that satisfy the one or more legality constraints, the processor may determine a respective estimated computational cost for that ordering. The processor may reorder the plurality of conditions to have an ordering that has a lowest estimated computational cost of the plurality of orderings that satisfy the one or more legality constraints.
    Type: Grant
    Filed: April 13, 2018
    Date of Patent: May 17, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Amit Jayant Sabne, Eric Avi Brumer
  • Patent number: 11321319
    Abstract: This disclosure relates generally to a method and system for extraction of SQL queries in an application. Various conventional approaches models SQL query extraction at a specific program point problem as an instance of string expression problem. Many string analysis based solutions are not scalable for large applications and those which are scalable do not account explicitly for the heap based flow. In an embodiment, the disclosed method and system utilizes a multi-criteria slicing based model which takes into account the data flowing through heap and contributing to SQL queries generation.
    Type: Grant
    Filed: September 21, 2020
    Date of Patent: May 3, 2022
    Assignee: TATA CONSULTANCY SERVICES LIMITED
    Inventors: Monika Sahu, Kumar Mansukhlal Vidhani, Sachin Premsukh Lodha
  • Patent number: 11314862
    Abstract: Disclosed herein are enhancements for operating a communication network to detect malware in scripts of web applications. In one implementation, a method for modeling the structure of embedded unclassified scripts to compare the abstract dynamism of similar scripts. The method may determine structure of unclassified end user browser script by building abstract structure using code from unclassified end user browser script; compare determined structure of unclassified end user browser script with a plurality of generalized abstract structures; if the determined structure of unclassified end user browser script matches within a predetermined threshold of any of the plurality of generalized abstract structures, then the unclassified end user browser script is classified as benign, otherwise the determined structure is classified as malicious. This, in turn, provides a scalable and efficient way of identifying benign, malicious, known and unknown scripts from a script available in full or in part.
    Type: Grant
    Filed: April 16, 2018
    Date of Patent: April 26, 2022
    Assignee: Tala Security, Inc.
    Inventors: Sanjay Sawhney, Swapnil Bhalode, Andrew Joseph Davidson, Somesh Jha, Vaibhav Rastogi
  • Patent number: 11303305
    Abstract: A selective PEG algorithm, creating a sparse matrix while maintaining row weight/column weight at arbitrary multi-levels, and in the process, inactivating an arbitrary edge so that a minimum loop formed between arbitrary nodes is enlarged or performing constrained interleaving, so that encoding efficiency in the case where a matrix space is narrow is improved.
    Type: Grant
    Filed: October 8, 2014
    Date of Patent: April 12, 2022
    Assignee: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
    Inventors: Yoshihide Tonomura, Daisuke Shirai, Tatsuya Fujii, Takayuki Nakachi, Takahiro Yamaguchi, Masahiko Kitamura
  • Patent number: 11237810
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for selection of ranked configurations.
    Type: Grant
    Filed: March 21, 2019
    Date of Patent: February 1, 2022
    Assignee: Google LLC
    Inventors: Pankaj Risbood, Parag Kacharulal Sarda, Rahul S. Kulkarni, Rohit Jain, Vittaldas Sachin Shenoy, Vivek Sahasranaman
  • Patent number: 11200061
    Abstract: Examples are disclosed herein that relate to performing rematerialization operation(s) on program source code prior to instruction scheduling. In one example, a method includes prior to performing instruction scheduling on program source code, for each basic block of the program source code, determining a register pressure at a boundary of the basic block, determining whether the register pressure at the boundary is greater than a target register pressure, based on the register pressure at the boundary being greater than the target register pressure, identifying one or more candidate instructions in the basic block suitable for rematerialization to reduce the register pressure at the boundary, and performing a rematerialization operation on at least one of the one or more candidate instructions to reduce the register pressure at the boundary to be less than the target register pressure.
    Type: Grant
    Filed: February 3, 2020
    Date of Patent: December 14, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Xiang Li, Michael Alan Dougherty, David McCarthy Peixotto
  • Patent number: 11182556
    Abstract: Disclosed herein is an NLP system that is able to extract meaning from a natural language message using improved parsing techniques. Such an NLP system can be used in concert with an NLG system to interactively interpret messages and generate response messages in an interactive conversational stream. The parsing can include (1) named entity recognition that contextualizes the meanings of words in a message with reference to a knowledge base of named entities understood by the NLP and NLG systems, (2) syntactically parsing the message to determine a grammatical hierarchy for the named entities within the message, (3) reduction of recognized named entities into aggregations of named entities using the determined grammatical hierarchy and reduction rules to further clarify the message's meaning, and (4) mapping the reduced aggregation of named entities to an intent or meaning, wherein this intent/meaning can be used as control instructions for an NLG process.
    Type: Grant
    Filed: February 15, 2019
    Date of Patent: November 23, 2021
    Assignee: NARRATIVE SCIENCE INC.
    Inventors: Maia Lewis Meza, Clayton Nicholas Norris, Michael Justin Smathers, Daniel Joseph Platt, Nathan D. Nichols
  • Patent number: 11175905
    Abstract: Disclosed herein are system, method, and device embodiments for optimizing uploads for an offline scenario by merging requests. An embodiment operates by performing a plurality of modification operations over application storage, generating a first queue entry within a normal operations queue corresponding to a first modification operation of the plurality of modification operations, generating a second queue entry corresponding to a second modification operation of the plurality of modification operations, generating an optimized operations queue including an optimized queue entry combining the first queue entry and the second queue entry, and synchronizing the application storage with a remote storage system based on the optimized operations queue.
    Type: Grant
    Filed: September 27, 2019
    Date of Patent: November 16, 2021
    Assignee: SAP SE
    Inventors: Matt Borges, David Brandow, Michael Thode
  • Patent number: 11106436
    Abstract: A system for developing a railway signalization program including a programming module in text language for the programming, by at least one user, of at least one computer operator, and a memory for the storage of the or each programmed computer operator using the programming module, the system also including a visual environment for the presentation, in the form of a functional graphic element, of at least one computer operator stored in the memory, the visual environment being suitable for allowing the construction, by at least one user, of a visual representation of the railway signalization program from the or each functional graphic element, the system further including an implementation system able to implement the railway signalization program based on the visual representation.
    Type: Grant
    Filed: February 1, 2019
    Date of Patent: August 31, 2021
    Assignee: ALSTOM TRANSPORT TECHNOLOGIES
    Inventors: Jean-Christophe Van Den Hende, Olivier Rolland
  • Patent number: 11063985
    Abstract: A graphical user interface provides network security administrators a tool to quickly and easily create one or more courses of action for automatic response to a network threat. The courses of action are hardware and system agnostic, which allows a common response task to be implemented by an underlying response engine for any or multiple similar-function devices regardless of brand or version. The course of action builder allows the administrator to use a simple, graphic-based, business modeling concept to craft and design security response processes rather than having to hard code response routines specific to each piece of hardware on the network. The graphic interface model allows the user of the threat response software incorporating the course of action builder to easily understand the overall flow and paths the response may take, as well as understand the data requirements and dependencies that will be evaluated.
    Type: Grant
    Filed: December 18, 2019
    Date of Patent: July 13, 2021
    Assignee: FireEye, Inc.
    Inventors: Christopher Nelson Bailey, Bernd Constant, Juan Manuel Vela
  • Patent number: 11055775
    Abstract: Systems and methods for communication of financial messages from an Exchange to market participants whereby messages directed to particular market participants may be consolidated with other messages directed to all market participants and communicated via the same communications medium while preserving the anonymity of those market participants to which messages are particularly directed.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: July 6, 2021
    Assignee: Chicago Mercantile Exchange Inc.
    Inventors: Frank Kmiec, Ari Studnitzer, Donald Mendelson, Zachary Bonig, Priteshkumar Soni, Arkadiusz Koziol, Jacques Doornebos
  • Patent number: 10983813
    Abstract: Automatically identifying context-specific repeated transformations (such as repeated edit tasks) that are based on observation of the developer drafting or modifying code. As the developer modifies the code, the code passes through a series of states, one after the other. The computing system observes the series of states of the code. It is based on this observation that the computing system identifies repeated transformations of the code for potentially offering to continue performing the repeated transformations for the user. This alleviates the developer from having to manually perform the remainder of the repeated transformations.
    Type: Grant
    Filed: October 3, 2019
    Date of Patent: April 20, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sumit Gulwani, Arjun Radhakrishna, Abhishek Udupa, Gustavo Araujo Soares, Vu Minh Le, Anders Miltner, Mark A. Wilson-Thomas
  • Patent number: 10936156
    Abstract: A method for controlling data from a data hierarchy with enhanced interactive access to ascendants while navigating in hierarchical dimensions of a materialized view renders a segmented band along each axis of a grid layout using a different background style for each level identified in the hierarchy. Heading titles for parents at a same visual hierarchy use a same background style and fill a space between a heading and respective child levels. When user traversal axially causes a heading title of a parent node to become invisible from a node headings bar in the segmented band of a respective axis, the heading title is promoted to a matching segment. An interactive control is rendered adjacent to the promoted heading enabling direct navigation to that parent node. Invoking the interactive control renders the visual hierarchy with the heading title of the parent node shown first in the node headings bar.
    Type: Grant
    Filed: November 5, 2018
    Date of Patent: March 2, 2021
    Assignee: International Business Machines Corporation
    Inventors: Ilse I Breedvelt-Schouten, Maria Gabriela Sanches
  • Patent number: 10901708
    Abstract: Techniques for unsupervised learning of embeddings on source code from non-local contexts are described. Code can be processed to generate an abstract syntax tree (AST) which represents syntactic paths between tokens in the code. Once the AST(s) have been generated, the paths in the AST(s) can be crawled to identify terminals (e.g., leaf nodes in the AST) and paths between terminals can be identified. The pairs of tokens identified at the ends of each path can then be used to generate a cooccurrence matrix. For example, if X number of unique terminals are identified, a matrix of size X by X can be generated to indicate a frequency at which pairs of terminals cooccur. This cooccurrence matrix can then be used as input to existing techniques for learning vector-space embeddings, such as word2vec, GloVe, Swivel, etc.
    Type: Grant
    Filed: November 23, 2018
    Date of Patent: January 26, 2021
    Assignee: Amazon Technologies, Inc.
    Inventors: Russell Reas, Neela Sawant, Srinivasan Sengamedu Hanumantha Rao, Yinglong Wang, Anton Emelyanov, Shishir Sethiya
  • Patent number: 10901709
    Abstract: According to an example, partitioning based migration of systems to container and micro-service based-platforms may include determining, based on an analysis of source code for an application that is to be partitioned, an entity model corresponding to the application, identifying resources associated with the application, and determining a mapping of the identified resources to entities of the entity model. Further, partitioning based migration of systems to container and micro-service based-platforms may include identifying dependencies for each of the mapped resources, generating dependency and control flow metrics for the application, generating affinity values between the mapped resources, generating a resource affinity graph, determining an affinity score between each of the mapped resources, and generating resource clusters that correspond to partitions of the application.
    Type: Grant
    Filed: December 26, 2018
    Date of Patent: January 26, 2021
    Assignee: ACCENTURE GLOBAL SOLUTIONS LIMITED
    Inventors: Vibhu Saujanya Sharma, Sanjay Podder, Kapil Singi
  • Patent number: 10885222
    Abstract: A method for distributed tokenization of sensitive strings of characters, such as social security numbers, credit card numbers and the like, in a local server is disclosed. The method comprises the steps of receiving from a central server at least one, and preferably at least two, static token lookup tables, and receiving a sensitive string of characters. In a first tokenization step, a first substring of characters is substituted with a corresponding first token from the token lookup table(s) to form a first tokenized string of characters, wherein the first substring of characters is a substring of the sensitive string of characters. Thereafter, in a second step of tokenization, a second substring of characters is substituted with a corresponding second token from the token lookup table(s) to form a second tokenized string of characters, wherein the second substring of characters is a substring of the first tokenized string of characters. Optionally, one or more additional tokenization steps is/are used.
    Type: Grant
    Filed: September 25, 2019
    Date of Patent: January 5, 2021
    Assignee: Protegrity Corporation
    Inventor: Ulf Mattsson
  • Patent number: 10871922
    Abstract: A integrated storage manager that includes: receiving, at an integrated storage manager from one or more storage systems from among a plurality of storage systems, one or more storage system metrics; receiving a management request from an operating system level virtualization service; and determining, based at least upon the one or more storage system metrics for the one or more storage systems, an implementation of the management request that is modified to improve one or more metrics corresponding to the one or more storage system metrics.
    Type: Grant
    Filed: January 23, 2019
    Date of Patent: December 22, 2020
    Assignee: Pure Storage, Inc.
    Inventor: Patrick East
  • Patent number: 10848505
    Abstract: A cyberattack behavior detection method and related apparatus are provided. The method includes receiving user upload information in a multilayer architecture, and detecting whether a cyberattack is included in the upload information. The upload information is only transmitted to a business logic layer for processing the upload information in response to the cyberattack not being detected.
    Type: Grant
    Filed: July 3, 2018
    Date of Patent: November 24, 2020
    Assignee: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
    Inventors: Yan Jun He, Fu Cheng Long, Li Qian Cui
  • Patent number: 10810044
    Abstract: Described herein are systems, methods, and software to enhance the allocation of cache resources to virtual nodes. In one implementation, a configuration system in large-scale processing environment is configured to identify a request to initiate a large-scale processing framework (LSPF) cluster, wherein the LSPF cluster comprises a plurality of virtual nodes, and identify host computing resources of a host computing system allocated to each virtual node of the LSPF cluster. The configuration system further allocates cache memory of a cache service to each of the virtual nodes based on the host computing resources, and initiate the LSPF cluster in the computing environment.
    Type: Grant
    Filed: January 4, 2018
    Date of Patent: October 20, 2020
    Assignee: Hewlett Packard Enterprise Development LP
    Inventors: Thomas A. Phelan, Ramaswami Kishore
  • Patent number: 10776087
    Abstract: Embodiments are directed to techniques to determine dataflow graph instructions comprising one or more pick/switch instruction pairs and generate a reverse static single assignment graph based on the dataflow graph instructions, the reverse static single assignment graph comprising strongly connected components, each of the strongly connected components associated with at least one of the one or more pick/switch instruction pairs. Embodiments also include traversing the reverse static single assignment graph depth-first, and replace pick/switch instructions associated with strongly connected components having configuration values with compound instructions.
    Type: Grant
    Filed: June 25, 2018
    Date of Patent: September 15, 2020
    Assignee: INTEL CORPORATION
    Inventor: Yongzhi Zhang
  • Patent number: 10698669
    Abstract: Methods, apparatus and computer software product for optimization of data transfer between two memories includes determining access to master data stored in one memory and/or to local data stored in another memory such that either or both of the size of total data transferred and the number of data transfers required to transfer the total data can be minimized. The master and/or local accesses are based on, at least in part, respective structures of the master and local data.
    Type: Grant
    Filed: December 11, 2017
    Date of Patent: June 30, 2020
    Assignee: Reservoir Labs, Inc.
    Inventors: Richard A. Lethin, Allen K. Leung, Benoit J. Meister, David E. Wohlford
  • Patent number: 10671398
    Abstract: A computer processing system is provided. The computer processing system includes a processor configured to insert a move instruction in an instruction scheduling dependency graph generated for operands of the instruction operating on register pairs to ensure operand readiness for all of the operands used by the instruction operating on register pairs.
    Type: Grant
    Filed: August 2, 2017
    Date of Patent: June 2, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Maarten J. Boersma, Sundeep Chadha, Kurt A. Feiste, Michael J. Genden, Michael K. Kroener, David R. Terry
  • Patent number: 10671399
    Abstract: A computer processing system is provided. The computer processing system includes a processor configured to insert a move instruction in an instruction scheduling dependency graph generated for operands of the instruction operating on register pairs to ensure operand readiness for all of the operands used by the instruction operating on register pairs.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: June 2, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Maarten J. Boersma, Sundeep Chadha, Kurt A. Feiste, Michael J. Genden, Michael K. Kroener, David R. Terry
  • Patent number: 10628743
    Abstract: A robotic system for processing input, such as text data provided through a messaging system, spoken language data provided through a microphone, or any other such input data, which may function to process the input so as to be able to respond or reply to a user based on comprehension of the input sentences. An automated theorem prover (ATP) may operate as an underlying framework for the AI system that understands and responds to spoken or written statements translated into a proper format. An ATP formatter may be used to translate natural language processing (NLP) output from a NLP syntactical sentence parser into the proper format, such that the ATP system may be able to generate and populate an ontology from the NLP output. User queries may be mapped to this ontology in order to facilitate comprehension. If desired, the system may automatically populate the ontology through Internet searching.
    Type: Grant
    Filed: January 24, 2019
    Date of Patent: April 21, 2020
    Inventor: Andrew R. Kalukin
  • Patent number: 10621358
    Abstract: Preliminary program analysis of an executable may be performed. A security vulnerability level of a portion of the executable may be determined based on the preliminary program analysis. The security vulnerability level of the portion may be compared to a security vulnerability threshold. The precision of runtime monitoring of the portion may be tuned based on the comparison.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: April 14, 2020
    Assignee: International Business Machines Corporation
    Inventors: Paul Ionescu, Iosif V. Onut, Omer Tripp
  • Patent number: 10613843
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for how a build system uses import graphs to maintain a current compilation cache and determine when compilation targets should be recompiled. A request is received to compile a compilation target. A plurality of files are identified that are used to build the compilation target. An import graph that represents import dependencies among the files used the build the compilation target is generated for the compilation target. The import graph is traversed to assign a respective identifier to each node in the import graph. A cache key is generated from data representing import relationships represented by the import graph and data representing contents of files used to build the compilation target. If the cache key is invalid or does not exist, compiling the compilation target.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: April 7, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Pavel Avgustinov, Julian Tibble
  • Patent number: 10606570
    Abstract: According to an aspect of an embodiment, a method may include generating an abstract code graph (ACG). The method may include obtaining an abstract syntax tree (AST). The AST may include a first AST node that may represent a first construct at a first level of abstraction and a second AST node that may represent a second construct. The method may further include generating an ACG, based on the AST. The generating of ACG may include generating a first ACG node based on the first AST node and a second ACG node based on the second AST node. The generating of ACG may also include generating, based on the first ACG node, a third ACG node that represents the first construct at a second level of abstraction. The third ACG node may be connected between the first ACG node and the second ACG node based on the AST.
    Type: Grant
    Filed: March 8, 2018
    Date of Patent: March 31, 2020
    Assignee: FUJITSU LIMITED
    Inventors: Hiroaki Yoshida, Mukul R. Prasad
  • Patent number: 10545740
    Abstract: An improved software optimization tool framework is provided that, when executed, creates software agents that attach themselves to all running instances of a user-specified application and/or process, be it in a single machine or across multiple machines (e.g. in a computer cluster). Once the software agents attach, for each attached application and/or process, the tool can be configured to capture the input and output data of specified target sections of code for the specified application or process. In an embodiment, a software programmer may want to optimize a specific target section of code that may comprise a single function or multiple functions or code portions. Based on pre-identified code sections, the tool can write captured input and output data into binary files, along with the target sections of code, and build an optimization framework around the input and output data, including the targeted sections of code.
    Type: Grant
    Filed: October 25, 2017
    Date of Patent: January 28, 2020
    Assignee: Saudi Arabian Oil Company
    Inventor: Mazen Abdulaziz Saleh Al-Hagri
  • Patent number: 10521206
    Abstract: Implementations of the disclosure provide systems and methods for ensuring that the value for any local function variable is initialized before it is used during the execution of the function. The method comprises identifying, by a processor executing a compiler, a reference to a local variable in a source code. It is determined that there can be a usage of the local variable in an uninitialized state as an operand for an operation. In the source code, a notation is identified that is associated with the local variable for suppressing a warning by the compiler with respect to using the local variable in the uninitialized state as an operand for an operation, In view of the source code, an object code is generated for tracking initialization and usage of the local variable at runtime.
    Type: Grant
    Filed: August 29, 2017
    Date of Patent: December 31, 2019
    Assignee: Red Hat, Inc.
    Inventor: Michael Tsirkin
  • Patent number: 10521288
    Abstract: A method, computer program product, and computer system for performing, at a computing device, an analysis of a web application. A response is annotated by the web application with coverage data based upon, at least in part, the analysis, wherein the coverage data indicates which actions have been performed on the web application and which actions have not been performed on the web application according to results of the analysis. The response that includes the coverage data is shared with one or more users.
    Type: Grant
    Filed: November 7, 2012
    Date of Patent: December 31, 2019
    Assignee: International Business Machines Corporation
    Inventors: Ory Segal, Roi Saltzman, Omer Tripp
  • Patent number: 10467598
    Abstract: A method for automatically converting note-to-self to action reminders in an electronic device is provided. The method includes receiving an input comprising at least one word from a user of the electronic device, analyzing an anaphora representation or a deictic representation for each of the at least one word, and generating a reminder based on a context from the anaphora representation or the deictic representation.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: November 5, 2019
    Assignee: Samsung Electronics Co., Ltd.
    Inventors: Lokendra Shastri, Rohini Nookala, Abhanshu Gupta, Kailash Atal, Rajat Tandon, Gladbin David C, Karishma Rajesh Sharma, Sohini Sengupta, Utkarsh Srivastava, Vidushi Chaudhary, Arun Yadav, Vaibhav, Pratik Vasa, Abhay Goel, Anshuka Rangi, Ashwani Kumar, Kapil Khatke, Nishu Bansal
  • Patent number: 10452607
    Abstract: In one implementation, a data transformation tool is configured to allow a user to specify how types of data should be mapped to another type of data in a reusable fashion. In one implementation, the data transformation tool analyzes data selected for input, the desired data output, and determines a list of potential mappings that may be used between the compliant and non-compliant systems. The mappings may be generated through transformational expressions and defined as a data wrapper. Once the definition of the one or more mappings are defined, data transformation tool generates one or more files allowing the execution of the transformation of the input data to the output data during an execution phase, such as runtime.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: October 22, 2019
    Assignee: Oracle International Corporation
    Inventors: Rodolfo José Cruz, Patricio Barletta, Nicolas Damonte, Juan Allo Ron
  • Patent number: 10394709
    Abstract: A function analysis method applied to a memory device includes analyzing the mapping relationship between at least one API function and at least one normal function, analyzing a calling relationship between the at least one normal function through the correspondence relationship, and developing a two-dimensional array to analyze whether there is a loop in the calling relationship or not. When one of the at least one normal function calls another normal function, whether or not the name of the called normal function is the same as the name of the normal function and names of the normal functions which call the normal function is checked.
    Type: Grant
    Filed: November 4, 2016
    Date of Patent: August 27, 2019
    Assignee: Silicon Motion, Inc.
    Inventor: Kuo-Chiang Hsu
  • Patent number: 10346182
    Abstract: Computing device and a method for loading module codes, the module codes required for executing an action, the method comprising: receiving, by the computing device, a request for executing the action, the action being executable using a first module code; acquiring, from the first predetermined index a first module code reference indicating a first module code location and the indication that executing the first module code requires a second module code; acquiring, from a second predetermined index, a second module code reference, the second module code reference indicating a second module code location; based on the first module code reference, acquiring the first module code from the first module code location; based on the second module code reference, acquiring the second module code from the second module code location; executing the action by running the first module code and the second module code.
    Type: Grant
    Filed: November 19, 2015
    Date of Patent: July 9, 2019
    Assignee: YANDEX EUROPE AG
    Inventors: Aleksandr Aleksandrovich Zinchuk, Sergey Sergeevich Konstantinov
  • Patent number: 10338902
    Abstract: A method, system, and computer-readable medium including operations for optimizing computer code is disclosed. A block of mixed intermediate representation (MIR) code is received. A partially-decompiled block of computer code is generated from the MIR code. For each instruction in the block of MIR code, in reverse order, a native expression vector for the instruction is computed. A set of pattern-matching operations is repeated until no transformations occur. A fully-decompiled block of computer code is generated from the partially-decompiled block of computer code, the fully-decompiled block of computer code having a semantic level that is raised. The fully-decompiled block of computer code is provided for deployment on an architecture, the deployment including lowering the semantic of the computer code to a level that corresponds to a CPU or GPU supported by the architecture.
    Type: Grant
    Filed: June 26, 2018
    Date of Patent: July 2, 2019
    Assignee: Unity IPR ApS
    Inventor: Benoit Sevigny
  • Patent number: 10310861
    Abstract: An apparatus to facilitate thread scheduling is disclosed. The apparatus includes logic to store barrier usage data based on a magnitude of barrier messages in an application kernel and a scheduler to schedule execution of threads across a plurality of multiprocessors based on the barrier usage data.
    Type: Grant
    Filed: April 1, 2017
    Date of Patent: June 4, 2019
    Assignee: INTEL CORPORATION
    Inventors: Balaji Vembu, Abhishek R. Appu, Joydeep Ray, Altug Koker
  • Patent number: 10223697
    Abstract: Disclosed is an improved approach for implementing enterprise software systems that addresses the above-described problems with existing systems. The present approach provides an effective and efficient way for defining schemas for services, and to define how to map the schema to particular transactional contexts.
    Type: Grant
    Filed: August 30, 2013
    Date of Patent: March 5, 2019
    Assignee: Oracle International Corporation
    Inventors: Mark David Lewis, Jianfeng Tai, David Wang, Ying Wang, Re Lai
  • Patent number: 10210336
    Abstract: Preliminary program analysis of an executable may be performed. A security vulnerability level of a portion of the executable may be determined based on the preliminary program analysis. The security vulnerability level of the portion may be compared to a security vulnerability threshold. The precision of runtime monitoring of the portion may be tuned based on the comparison.
    Type: Grant
    Filed: March 29, 2016
    Date of Patent: February 19, 2019
    Assignee: International Business Machines Corporation
    Inventors: Paul Ionescu, Iosif V. Onut, Omer Tripp
  • Patent number: 10198250
    Abstract: According to an example, partitioning based migration of systems to container and micro-service based-platforms may include determining, based on an analysis of source code for an application that is to be partitioned, an entity model corresponding to the application, identifying resources associated with the application, and determining a mapping of the identified resources to entities of the entity model. Further, partitioning based migration of systems to container and micro-service based-platforms may include identifying dependencies for each of the mapped resources, generating dependency and control flow metrics for the application, generating affinity values between the mapped resources, generating a resource affinity graph, determining an affinity score between each of the mapped resources, and generating resource clusters that correspond to partitions of the application.
    Type: Grant
    Filed: January 4, 2018
    Date of Patent: February 5, 2019
    Assignee: ACCENTURE GLOBAL SOLUTIONS LIMITED
    Inventors: Vibhu Sharma, Sanjay Podder, Kapil Singi
  • Patent number: 10152311
    Abstract: A method for compiling software code comprises scanning call sites within the code to identify a function that is called with at least one constant argument and creating a list of each call site associated with the function and sets of constant arguments passed to the function. If any common subsets of the constant arguments are shared across a plurality of call sites, a size of the function is estimated. selecting any sets of constant arguments that are used only in one call site. The sizes of specialized functions covering sets of constant arguments that are used in only one call site is estimated. The method comprises creating a first set of specialized versions of the function covering one or more sets of constant arguments that are used in only one call site, and if any common subsets of the constant arguments exist, creating a second set of specialized versions of the function.
    Type: Grant
    Filed: September 16, 2016
    Date of Patent: December 11, 2018
    Assignee: QUALCOMM Innovation Center, Inc.
    Inventor: Tobias Edler Von Koch
  • Patent number: 10095511
    Abstract: A current Java project is converted to a Maven project, by scanning the the current Java project to identify a structure of the Java project, generating a project template for the Maven project based on the identified structure of the Java project, arranging files associated with the Java project according to a structure of the project template generated for the Maven project, validating dependencies and linkages associated with a plurality of modules of the current Java project based on corresponding module requirements, generating a Project Object Model (POM) file for each of the modules, generating a root POM file for the Maven project that includes the dependencies, executing a build of the Maven project utilizing the POM files and the root POM file to generate artifacts for the Maven project, and deploying the artifacts in a central repository and a testing environment.
    Type: Grant
    Filed: February 23, 2017
    Date of Patent: October 9, 2018
    Assignee: Amdocs Development Limited
    Inventors: Shomi Sengupta, Sunil Suresh Anvekar
  • Patent number: 10083183
    Abstract: Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for providing a SPLAY tree, the SPLAY tree including a data structure having one or more nodes, each node having a node name and a node value, determining that a function of a shared library of an in-memory database system has been called, and determining whether the SPLAY tree includes a node corresponding to the function, wherein: if the SPLAY tree includes a node corresponding to the function, reading a function address of the function from the SPLAY tree, and if the SPLAY tree is absent a node corresponding to the function, reading the function address from a computer-readable file.
    Type: Grant
    Filed: July 19, 2016
    Date of Patent: September 25, 2018
    Assignee: SAP SE
    Inventor: Ahmad Hassan
  • Patent number: 10078505
    Abstract: A method and system for partial connection of iterations during loop unrolling during compilation of a program by a compiler. Unrolled loop iterations of a loop in the program are selectively connected, including redirecting, to the head of the loop, undesirable edges of a control flow from one iteration to a next iteration of the loop. Merges on a path of hot code are removed to increase a scope for optimization of the program. The head of the loop and a start of a replicated loop body of the loop are equivalent points of the control flow. A sequence of blocks on the path of hot code, unpolluted by a control flow of a path of cold code, is extended during the compilation. Information computed by an optimizer about the hot code in a first iteration is used to further optimize a second iteration, and the loop is further unrolled.
    Type: Grant
    Filed: July 20, 2016
    Date of Patent: September 18, 2018
    Assignee: International Business Machines Corporation
    Inventors: Andrew J. Craik, Vijay Sundaresan
  • Patent number: 10042654
    Abstract: A method for distributing sets of regular expressions to a fixed number of state machine engines includes combining, with a processing device, a plurality of regular expressions into a single compound regular expression, creating a single nondeterministic finite automaton (NFA) including a plurality of NFA states based on the compound regular expression, performing an interference analysis for each pair of NFA states to identify all pairs of NFA states that would potentially interfere in an equivalent deterministic finite automaton (DFA), creating an interference graph representing the regular expressions associated with potentially interfering NFA states based on the results of the interference analysis, and performing a graph coloring algorithm on the interference graph to assign a different color to each represented regular expression in the graph.
    Type: Grant
    Filed: June 10, 2014
    Date of Patent: August 7, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Christoph Angerer