Patents by Inventor Ke Wen Lin

Ke Wen Lin 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: 12277443
    Abstract: A method, computer system, and a computer program product for improving debugging speed by rearranging debugging priority functions. In one embodiment, runtime input may be received about a program to be debugged. Feedback information is obtained about at least one similar program previously debugged. The compiling time information and runtime information are analyzed to determine a status of functions including one or more focused functions that will be used frequently and one or more unreachable functions that may never will be executed. A priority list of debugging functions is generated based on the feedback information, the runtime input and a function status. A plurality of debugging information are rearranged and parsed on the priority list prior to said program being debugged based on said debugging information.
    Type: Grant
    Filed: June 16, 2022
    Date of Patent: April 15, 2025
    Assignee: International Business Machines Corporation
    Inventors: Jiu Fu Guo, Ke Wen Lin, Zheng Chen, Si Yuan Zhang
  • Patent number: 12099823
    Abstract: A computer-implemented method, system and computer program product for reducing register pressure. Loops of a computer program with a number of live variables that exceeds a threshold number, such as the number of available registers with capacity to store data, are identified. Such identified loops may be the to be subject to high register pressure. Upon identifying such loops in the computer program, chains within each identified loop are identified, where each chain includes load and store instructions from the same induction address and where the variable offsets of the load and store instructions are loop invariants. The address expressions for the load and store instructions in the identified chains may then be modified or changed to reuse common variable offsets using an analysis and transformation process. By reusing common variable offsets, there are less variable offsets that need to be stored in the registers thereby mitigating register pressure.
    Type: Grant
    Filed: January 16, 2023
    Date of Patent: September 24, 2024
    Assignee: International Business Machines Corporation
    Inventors: Zheng Chen, Ke Wen Lin, Si Yuan Zhang
  • Publication number: 20240241704
    Abstract: A computer-implemented method, system and computer program product for reducing register pressure. Loops of a computer program with a number of live variables that exceeds a threshold number, such as the number of available registers with capacity to store data, are identified. Such identified loops may be the to be subject to high register pressure. Upon identifying such loops in the computer program, chains within each identified loop are identified, where each chain includes load and store instructions from the same induction address and where the variable offsets of the load and store instructions are loop invariants. The address expressions for the load and store instructions in the identified chains may then be modified or changed to reuse common variable offsets using an analysis and transformation process. By reusing common variable offsets, there are less variable offsets that need to be stored in the registers thereby mitigating register pressure.
    Type: Application
    Filed: January 16, 2023
    Publication date: July 18, 2024
    Inventors: Zheng Chen, Ke Wen Lin, Si Yuan Zhang
  • Publication number: 20240020112
    Abstract: Managing source code change set commits to decrease time to identify software bugs in versions of a software project is provided. An initial order of relevant commits corresponding to the software project is determined in a priority queue based on a weight of each respective commit of the relevant commits. The initial order of the relevant commits is adjusted in the priority queue based on a build distance between the relevant commits of affected source files. A particular commit having a highest priority ranking is selected in the priority queue for build and test. The build and the test of the particular commit having the highest priority ranking in the priority queue is executed.
    Type: Application
    Filed: July 12, 2022
    Publication date: January 18, 2024
    Inventors: Ke Wen Lin, Xiong Hu Luo, Chaofan Qiu, Li Rong Yi
  • Publication number: 20230409385
    Abstract: A method, computer system, and a computer program product for improving debugging speed by rearranging debugging priority functions. In one embodiment, runtime input may be received about a program to be debugged. Feedback information is obtained about at least one similar program previously debugged. The compiling time information and runtime information are analyzed to determine a status of functions including one or more focused functions that will be used frequently and one or more unreachable functions that may never will be executed. A priority list of debugging functions is generated based on the feedback information, the runtime input and a function status. A plurality of debugging information are rearranged and parsed on the priority list prior to said program being debugged based on said debugging information.
    Type: Application
    Filed: June 16, 2022
    Publication date: December 21, 2023
    Inventors: JIU FU GUO, Ke Wen Lin, Zheng Chen, Si Yuan Zhang
  • Patent number: 11645076
    Abstract: Provided are embodiments for a method of performing register pressure targeted function splitting. The method can include determining a candidate region of a function, the candidate region comprising variables, and determining a number of available registers in a computing system for allocating the variables of the function. The method can also include grouping the variables in the candidate region into first variables and second variables based at least in part on the number of available registers, and splitting the candidate region of the function into split functions based at least in part on the grouping of the variables. Also provided are embodiments for a computer program product and a system for performing register pressure targeted function splitting.
    Type: Grant
    Filed: July 26, 2021
    Date of Patent: May 9, 2023
    Assignee: International Business Machines Corporation
    Inventors: Jinsong Ji, Zheng Chen, Ke Wen Lin
  • Publication number: 20230029183
    Abstract: Provided are embodiments for a method of performing register pressure targeted function splitting. The method can include determining a candidate region of a function, the candidate region comprising variables, and determining a number of available registers in a computing system for allocating the variables of the function. The method can also include grouping the variables in the candidate region into first variables and second variables based at least in part on the number of available registers, and splitting the candidate region of the function into split functions based at least in part on the grouping of the variables.
    Type: Application
    Filed: July 26, 2021
    Publication date: January 26, 2023
    Inventors: JINSONG JI, Zheng Chen, Ke Wen Lin
  • Patent number: 11307837
    Abstract: Embodiments of the present disclosure relate to runtime type identification (RTTI) of an object. In an embodiment, a computer-implemented method is disclosed. A class inheritance relationship between a plurality of classes in at least one source code section is generated. Respective type identifications are assigned to identify the classes in the class inheritance relationship. In accordance with presence of a first operation related to accessing a target pointer to an object of a target class of the classes, a type identification for the target class is caused to be recorded with at least one bit of a memory address of the target pointer that can be omitted in addressing the target pointer. RTTI is caused to be performed based on the class inheritance relationship and the at least one bit of the memory address of the target pointer. In other embodiments, a system and a computer program product are disclosed.
    Type: Grant
    Filed: August 24, 2020
    Date of Patent: April 19, 2022
    Assignee: International Business Machines Corporation
    Inventors: Zixuan Wu, Ke Wen Lin, Qing Shan Zhang, Kang Zhang
  • Publication number: 20220058006
    Abstract: Embodiments of the present disclosure relate to runtime type identification (RTTI) of an object. In an embodiment, a computer-implemented method is disclosed. A class inheritance relationship between a plurality of classes in at least one source code section is generated. Respective type identifications are assigned to identify the classes in the class inheritance relationship. In accordance with presence of a first operation related to accessing a target pointer to an object of a target class of the classes, a type identification for the target class is caused to be recorded with at least one bit of a memory address of the target pointer that can be omitted in addressing the target pointer. RTTI is caused to be performed based on the class inheritance relationship and the at least one bit of the memory address of the target pointer. In other embodiments, a system and a computer program product are disclosed.
    Type: Application
    Filed: August 24, 2020
    Publication date: February 24, 2022
    Inventors: Zixuan Wu, Ke Wen Lin, Qing Shan Zhang, Kang Zhang
  • Patent number: 11182272
    Abstract: Embodiments of the present disclosure relate to methods, systems, and computer program products for monitoring a state of an application. A target object that is to be monitored in an application may be determined in response to receiving a monitoring configuration. A position of the target object in source codes of the application may be identified. A state of the target object may be monitored in response to the application being traced to a location corresponding to the position.
    Type: Grant
    Filed: April 17, 2018
    Date of Patent: November 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Zheng Chen, Jinsong Ji, Ke Wen Lin, Qing Shan Zhang
  • Patent number: 10802825
    Abstract: Embodiments include a method, a cognitive software porting assistant system, and a computer program product for operating a cognitive software porting assistant system. Embodiments include analyzing code to identify strings of the code, tokenizing the strings of the code into tokens, and identifying a first set of tokens and a second set of tokens from the tokens, wherein the first set of tokens corresponds to a first platform and the second set of tokens corresponds to the second platform. Embodiments also include generating a first syntax tree for the first set of tokens and a second syntax tree for the second set of tokens, and serializing the first syntax tree and the second syntax tree. Embodiments include comparing the first serialized syntax tree with the second serialized syntax tree, and saving a mapping of the first serialized syntax tree and second serialized syntax tree responsive to the comparison.
    Type: Grant
    Filed: February 25, 2019
    Date of Patent: October 13, 2020
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Xiao Feng Guan, Ke Wen Lin, Yuxuan Zhang
  • Publication number: 20200272458
    Abstract: Embodiments include a method, a cognitive software porting assistant system, and a computer program product for operating a cognitive software porting assistant system. Embodiments include analyzing code to identify strings of the code, tokenizing the strings of the code into tokens, and identifying a first set of tokens and a second set of tokens from the tokens, wherein the first set of tokens corresponds to a first platform and the second set of tokens corresponds to the second platform. Embodiments also include generating a first syntax tree for the first set of tokens and a second syntax tree for the second set of tokens, and serializing the first syntax tree and the second syntax tree. Embodiments include comparing the first serialized syntax tree with the second serialized syntax tree, and saving a mapping of the first serialized syntax tree and second serialized syntax tree responsive to the comparison.
    Type: Application
    Filed: February 25, 2019
    Publication date: August 27, 2020
    Inventors: Xiao Feng Guan, Ke Wen Lin, Yuxuan Zhang
  • Patent number: 10599406
    Abstract: Embodiments of the present invention may track a user's interaction trajectory associated with a problem occurred on a website. According to an embodiment of the present invention, a first symbol of a first definition associated with a first object file is obtained. Then, in response to the first symbol matching a second symbol of a second definition associated with a second object file, the first object file is optimized based on a first segment associated with the first definition in the first object file and an optimization to the second object file is skipped. Next, an executable file is generated based on the optimized first object file and the second object file.
    Type: Grant
    Filed: August 22, 2018
    Date of Patent: March 24, 2020
    Assignee: International Business Machines Corporation
    Inventors: Jin Song Ji, Ke Wen Lin, Zhao Wu, Qing S. Zhang
  • Publication number: 20190317877
    Abstract: Embodiments of the present disclosure relate to methods, systems, and computer program products for monitoring a state of an application. A target object that is to be monitored in an application may be determined in response to receiving a monitoring configuration. A position of the target object in source codes of the application may be identified. A state of the target object may be monitored in response to the application being traced to a location corresponding to the position.
    Type: Application
    Filed: April 17, 2018
    Publication date: October 17, 2019
    Inventors: Zheng Chen, Jinsong Ji, Ke Wen Lin, Qing Shan Zhang
  • Publication number: 20180364993
    Abstract: Embodiments of the present invention may track a user's interaction trajectory associated with a problem occurred on a website. According to an embodiment of the present invention, a first symbol of a first definition associated with a first object file is obtained. Then, in response to the first symbol matching a second symbol of a second definition associated with a second object file, the first object file is optimized based on a first segment associated with the first definition in the first object file and an optimization to the second object file is skipped. Next, an executable file is generated based on the optimized first object file and the second object file.
    Type: Application
    Filed: August 22, 2018
    Publication date: December 20, 2018
    Inventors: Jin Song Ji, Ke Wen Lin, Zhao Wu, Qing S. Zhang
  • Patent number: 10133559
    Abstract: Embodiments of the present invention may track a user's interaction trajectory associated with a problem occurred on a website. According to an embodiment of the present invention, a first symbol of a first definition associated with a first object file is obtained. Then, in response to the first symbol matching a second symbol of a second definition associated with a second object file, the first object file is optimized based on a first segment associated with the first definition in the first object file and an optimization to the second object file is skipped. Next, an executable file is generated based on the optimized first object file and the second object file.
    Type: Grant
    Filed: June 3, 2016
    Date of Patent: November 20, 2018
    Assignee: International Business Machines Corporation
    Inventors: Jin Song Ji, Ke Wen Lin, Zhao Wu, Qing S. Zhang
  • Publication number: 20170351499
    Abstract: Embodiments of the present invention may track a user's interaction trajectory associated with a problem occurred on a website. According to an embodiment of the present invention, a first symbol of a first definition associated with a first object file is obtained. Then, in response to the first symbol matching a second symbol of a second definition associated with a second object file, the first object file is optimized based on a first segment associated with the first definition in the first object file and an optimization to the second object file is skipped. Next, an executable file is generated based on the optimized first object file and the second object file.
    Type: Application
    Filed: June 3, 2016
    Publication date: December 7, 2017
    Inventors: Jin Song Ji, Ke Wen Lin, Zhao Wu, Qing S. Zhang
  • Patent number: 9594553
    Abstract: The present disclosure relates to a method and system for identifying a semantic difference between source code versions. In one embodiment of the present disclosure, there is provided a method for identifying a semantic difference between source code versions, comprising: obtaining first debugging information of a first source code version and second debugging information of a second source code version respectively; determining, by comparing the first debugging information with the second debugging information, whether in the second source code version there exists a second function matching a first function in the first source code version; and identifying the semantic difference on the basis of a result of the determining. In one embodiment of the present disclosure, there is provided a system for identifying a semantic difference between source code versions. By means of the present disclosure, a semantic difference between various source code versions can be identified rapidly and accurately.
    Type: Grant
    Filed: August 28, 2015
    Date of Patent: March 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Jin Song Ji, Ke Wen Lin, Qing Shan Zhang, Yuheng Zhang
  • Publication number: 20160062765
    Abstract: The present disclosure relates to a method and system for identifying a semantic difference between source code versions. In one embodiment of the present disclosure, there is provided a method for identifying a semantic difference between source code versions, comprising: obtaining first debugging information of a first source code version and second debugging information of a second source code version respectively; determining, by comparing the first debugging information with the second debugging information, whether in the second source code version there exists a second function matching a first function in the first source code version; and identifying the semantic difference on the basis of a result of the determining. In one embodiment of the present disclosure, there is provided a system for identifying a semantic difference between source code versions. By means of the present disclosure, a semantic difference between various source code versions can be identified rapidly and accurately.
    Type: Application
    Filed: August 28, 2015
    Publication date: March 3, 2016
    Inventors: Jin Song Ji, Ke Wen Lin, Qing Shan Zhang, Yuheng Zhang
  • Patent number: 9223552
    Abstract: One aspect is a method for compiling optimization of an application and a compiler thereof. The method includes determining could-be-constant variables in source code of the application. Constant variables designated as final constant variables and values of the constant variables are obtained using the could-be-constant variables. The application is compiled using the constant variables and the values of the constant variables.
    Type: Grant
    Filed: April 23, 2014
    Date of Patent: December 29, 2015
    Assignee: International Business Machines Corporation
    Inventors: Jin Song Ji, Jian Jiang, Ke Wen Lin, Zhi Peng Liu