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: 12277443Abstract: 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: GrantFiled: June 16, 2022Date of Patent: April 15, 2025Assignee: International Business Machines CorporationInventors: Jiu Fu Guo, Ke Wen Lin, Zheng Chen, Si Yuan Zhang
-
Patent number: 12099823Abstract: 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: GrantFiled: January 16, 2023Date of Patent: September 24, 2024Assignee: International Business Machines CorporationInventors: Zheng Chen, Ke Wen Lin, Si Yuan Zhang
-
Publication number: 20240241704Abstract: 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: ApplicationFiled: January 16, 2023Publication date: July 18, 2024Inventors: Zheng Chen, Ke Wen Lin, Si Yuan Zhang
-
Publication number: 20240020112Abstract: 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: ApplicationFiled: July 12, 2022Publication date: January 18, 2024Inventors: Ke Wen Lin, Xiong Hu Luo, Chaofan Qiu, Li Rong Yi
-
Publication number: 20230409385Abstract: 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: ApplicationFiled: June 16, 2022Publication date: December 21, 2023Inventors: JIU FU GUO, Ke Wen Lin, Zheng Chen, Si Yuan Zhang
-
Patent number: 11645076Abstract: 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: GrantFiled: July 26, 2021Date of Patent: May 9, 2023Assignee: International Business Machines CorporationInventors: Jinsong Ji, Zheng Chen, Ke Wen Lin
-
Publication number: 20230029183Abstract: 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: ApplicationFiled: July 26, 2021Publication date: January 26, 2023Inventors: JINSONG JI, Zheng Chen, Ke Wen Lin
-
Patent number: 11307837Abstract: 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: GrantFiled: August 24, 2020Date of Patent: April 19, 2022Assignee: International Business Machines CorporationInventors: Zixuan Wu, Ke Wen Lin, Qing Shan Zhang, Kang Zhang
-
Publication number: 20220058006Abstract: 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: ApplicationFiled: August 24, 2020Publication date: February 24, 2022Inventors: Zixuan Wu, Ke Wen Lin, Qing Shan Zhang, Kang Zhang
-
Patent number: 11182272Abstract: 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: GrantFiled: April 17, 2018Date of Patent: November 23, 2021Assignee: International Business Machines CorporationInventors: Zheng Chen, Jinsong Ji, Ke Wen Lin, Qing Shan Zhang
-
Patent number: 10802825Abstract: 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: GrantFiled: February 25, 2019Date of Patent: October 13, 2020Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Xiao Feng Guan, Ke Wen Lin, Yuxuan Zhang
-
Publication number: 20200272458Abstract: 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: ApplicationFiled: February 25, 2019Publication date: August 27, 2020Inventors: Xiao Feng Guan, Ke Wen Lin, Yuxuan Zhang
-
Patent number: 10599406Abstract: 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: GrantFiled: August 22, 2018Date of Patent: March 24, 2020Assignee: International Business Machines CorporationInventors: Jin Song Ji, Ke Wen Lin, Zhao Wu, Qing S. Zhang
-
Publication number: 20190317877Abstract: 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: ApplicationFiled: April 17, 2018Publication date: October 17, 2019Inventors: Zheng Chen, Jinsong Ji, Ke Wen Lin, Qing Shan Zhang
-
Publication number: 20180364993Abstract: 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: ApplicationFiled: August 22, 2018Publication date: December 20, 2018Inventors: Jin Song Ji, Ke Wen Lin, Zhao Wu, Qing S. Zhang
-
Patent number: 10133559Abstract: 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: GrantFiled: June 3, 2016Date of Patent: November 20, 2018Assignee: International Business Machines CorporationInventors: Jin Song Ji, Ke Wen Lin, Zhao Wu, Qing S. Zhang
-
Publication number: 20170351499Abstract: 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: ApplicationFiled: June 3, 2016Publication date: December 7, 2017Inventors: Jin Song Ji, Ke Wen Lin, Zhao Wu, Qing S. Zhang
-
Patent number: 9594553Abstract: 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: GrantFiled: August 28, 2015Date of Patent: March 14, 2017Assignee: International Business Machines CorporationInventors: Jin Song Ji, Ke Wen Lin, Qing Shan Zhang, Yuheng Zhang
-
Publication number: 20160062765Abstract: 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: ApplicationFiled: August 28, 2015Publication date: March 3, 2016Inventors: Jin Song Ji, Ke Wen Lin, Qing Shan Zhang, Yuheng Zhang
-
Patent number: 9223552Abstract: 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: GrantFiled: April 23, 2014Date of Patent: December 29, 2015Assignee: International Business Machines CorporationInventors: Jin Song Ji, Jian Jiang, Ke Wen Lin, Zhi Peng Liu