Patents by Inventor Jia Sen Wu

Jia Sen Wu 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: 10360004
    Abstract: A system, method and computer program product to refine an original complex CFG into a simpler CFG showing interesting paths and reducing interfering paths with dynamic input for the state of program. The method receives/encodes dynamic user input in the form of annotations which encodes user's special interests or knowledge of the program at run time, e.g., some assumptions of any variables appeared, which can be equations of variable and value or relationships between variables. The method then simplifies all the branching points in a generated AST (Abstract Syntax Tree) whenever possible by querying a SMT (Satisfiability Modulo Theories) solver with branching condition and the user annotations and by evaluating immediate values of expressions or eliminate unreachable parts in the CFG. Finally, the method generates a simplified CFG by simplified AST. This can assist a programmer to understand the code and facilitates correlating different basic blocks under a same scenario.
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: July 23, 2019
    Assignee: International Business Machines Corporation
    Inventors: Si Bin Fan, Bo Li, Nai Jie Li, Jia Sen Wu, Zi Ying Xin, Xiao Zhen Zhu
  • Publication number: 20180246706
    Abstract: A system, method and computer program product to refine an original complex CFG into a simpler CFG showing interesting paths and reducing interfering paths with dynamic input for the state of program. The method receives/encodes dynamic user input in the form of annotations which encodes user's special interests or knowledge of the program at run time, e.g., some assumptions of any variables appeared, which can be equations of variable and value or relationships between variables. The method then simplifies all the branching points in a generated AST (Abstract Syntax Tree) whenever possible by querying a SMT (Satisfiability Modulo Theories) solver with branching condition and the user annotations and by evaluating immediate values of expressions or eliminate unreachable parts in the CFG. Finally, the method generates a simplified CFG by simplified AST. This can assist a programmer to understand the code and facilitates correlating different basic blocks under a same scenario.
    Type: Application
    Filed: February 27, 2017
    Publication date: August 30, 2018
    Inventors: Si Bin FAN, Bo LI, Nai Jie LI, Jia Sen WU, Zi Ying XIN, Xiao Zhen ZHU
  • Patent number: 9940105
    Abstract: Generating a scalable code division and workflow chart. Based on definition-and-use cases of variables in a code snippet to be represented by a graph, crossing references to the variables in the code are determined, where a crossing reference associated with a statement involves a definition of the variable before the statement and a use of the variable at or after the statement. The code snippet is divided, based on the crossing references.
    Type: Grant
    Filed: September 28, 2015
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: He Liu, DaFei Shi, Jia Sen Wu, Bao Zhang
  • Patent number: 9934006
    Abstract: Generating a scalable code division and workflow chart. Based on definition-and-use cases of variables in a code snippet to be represented by a graph, crossing references to the variables in the code are determined, where a crossing reference associated with a statement involves a definition of the variable before the statement and a use of the variable at or after the statement. The code snippet is divided, based on the crossing references.
    Type: Grant
    Filed: March 18, 2016
    Date of Patent: April 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: He Liu, DaFei Shi, Jia Sen Wu, Bao Zhang
  • Patent number: 9690701
    Abstract: A computer-implemented method includes performing, by each of a plurality of crawlers, a random walk of a plurality of objects in a heap, where the plurality of objects are memory objects allocated for execution of an application. A timestamp of each object of the plurality of objects is updated, when the object is visited by a crawler of the plurality of crawlers. Garbage is identified, by a computer processor, based at least in part on the timestamp of each object of the plurality of objects. The garbage is reclaimed.
    Type: Grant
    Filed: September 27, 2016
    Date of Patent: June 27, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Eli M. Dow, Thomas D. Fitzsimmons, Jia Sen Wu, Bao Zhang
  • Publication number: 20170090919
    Abstract: Generating a scalable code division and workflow chart. Based on definition-and-use cases of variables in a code snippet to be represented by a graph, crossing references to the variables in the code are determined, where a crossing reference associated with a statement involves a definition of the variable before the statement and a use of the variable at or after the statement. The code snippet is divided, based on the crossing references.
    Type: Application
    Filed: March 18, 2016
    Publication date: March 30, 2017
    Inventors: He Liu, DaFei Shi, Jia Sen Wu, Bao Zhang
  • Publication number: 20170090878
    Abstract: Generating a scalable code division and workflow chart. Based on definition-and-use cases of variables in a code snippet to be represented by a graph, crossing references to the variables in the code are determined, where a crossing reference associated with a statement involves a definition of the variable before the statement and a use of the variable at or after the statement. The code snippet is divided, based on the crossing references.
    Type: Application
    Filed: September 28, 2015
    Publication date: March 30, 2017
    Inventors: He Liu, DaFei Shi, Jia Sen Wu, Bao Zhang