Patents by Inventor Krishna Nandivada Venkata
Krishna Nandivada Venkata 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: 9122540Abstract: A method and system for transforming a first computer program having program statements to a second computer program. A parsed first computer program is translated to the second computer program. The first computer program includes a first program statement that includes a first error. The translating includes: (i) identifying a second program statement in the parsed first computer program that includes a second error and has thrown a translation exception with respect to the second error, (ii) rolling back the translating to a predefined check point prior to the second program statement in the parsed first computer program such that the predefined check point is associated with a statement in the parsed first computer program that was successfully translated, and (iii) generating an executable equivalent translation for the second statement. After the translating, a mapping of one or more statements is generated.Type: GrantFiled: July 10, 2014Date of Patent: September 1, 2015Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Anup K. Ghosh, Sugata Ghosal, Asidhara Lahiri, Mangala G. Nanda, Krishna Nandivada Venkata, Anjan Nandy, Diptikalyan Saha
-
Patent number: 8924946Abstract: Systems and methods for replacing inferior code segments with optimal code segments. Systems and methods for making such replacements for programming languages using Message Passing Interface (MPI) are provided. For example, at the compiler level, point-to-point code segments may be identified and replaced with all-to-all code segments. Programming code may include X10, Chapel and other programming languages that support parallel for loop.Type: GrantFiled: November 24, 2010Date of Patent: December 30, 2014Assignee: International Business Machines CorporationInventors: Ganesh Bikshandi, Krishna Nandivada Venkata, Igor Peshansky, Vijay Anand Saraswat
-
Patent number: 8892951Abstract: Methods and arrangements for localizing faults in programs. A program is assimilated, the program comprising statements. Output behavior of the statements is modeled, and statement occurrences are annotated. Passing and failing spectra are differenced to yield a difference, and a fault is located via employing the difference.Type: GrantFiled: September 28, 2011Date of Patent: November 18, 2014Assignee: International Business Machines CorporationInventors: Satish Chandra, Pankaj Dhoolia, Mangala Gowri Nanda, Diptikalyan Saha, Vibha Singhal Sinha, Krishna Nandivada Venkata
-
Publication number: 20140325491Abstract: A method and system for transforming a first computer program having program statements to a second computer program. A parsed first computer program is translated to the second computer program. The first computer program includes a first program statement that includes a first error. The translating includes: (i) identifying a second program statement in the parsed first computer program that includes a second error and has thrown a translation exception with respect to the second error, (ii) rolling back the translating to a predefined check point prior to the second program statement in the parsed first computer program such that the predefined check point is associated with a statement in the parsed first computer program that was successfully translated, and (iii) generating an executable equivalent translation for the second statement. After the translating, a mapping of one or more statements is generated.Type: ApplicationFiled: July 10, 2014Publication date: October 30, 2014Inventors: Pankaj Dhoolia, Anup K. Ghosh, Sugata Ghosal, Asidhara Lahiri, Mangala G. Nanda, Krishna Nandivada Venkata, Anjan Nandy, Diptikalyan Saha
-
Patent number: 8806452Abstract: A method and system to transform a plurality of programs associated with a plurality of programming languages is provided. In the method, a request is received by a computer to transform a first program in a first programming language to a second program in a second programming language. The first program is then transformed, wherein the transformation includes eliminating errors using predefined criteria. Further, the method maps a statement of the first program with a corresponding statement of the second program.Type: GrantFiled: November 10, 2011Date of Patent: August 12, 2014Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Anup Kumar Ghosh, Sugata Ghosal, Asidhara Lahiri, Mangala Gowri Nanda, Krishna Nandivada Venkata, Anjan Nandy, Diptikalyan Saha
-
Patent number: 8732680Abstract: Techniques for representing a program are provided. The techniques include creating one or more sub-variables for each of one or more variables in the program, and maintaining a single size of each of the one or more variables throughout a life-span of each of the one or more variables. Additionally, techniques for performing register allocation are also provided. The techniques include representing bit-width information of each of one or more variables in a powers-of-two representation, wherein the one or more variables comprise one or more variables in a program, coalescing the one or more variables, packing the one or more coalesced variables, and using the one or more packed variables to perform register allocation.Type: GrantFiled: February 19, 2009Date of Patent: May 20, 2014Assignee: International Business Machines CorporationInventors: Rajkishore Barik, Krishna Nandivada Venkata
-
Patent number: 8676826Abstract: The embodiments provide for automatic incremental learning of programming language grammar. A corpus (i.e., a text file of software code written in a particular programming language) is parsed based on a set of grammar rules. An unparsed statement from the corpus is identified along with a section thereof, which did not match any of the grammar rules in the set. A subset of the set of grammar rules at fault for the parsing failure is identified. Groups of new grammar rules are developed such that each group comprises at least one new grammar rule, such that each group can parse the unparsed statement, and such that each new grammar rule is a modification of grammar rule(s) in the subset. One specific group can then be selected for possible incorporation into the set of grammar rules. Optionally, before a specific group is selected, the groups can be heuristically pruned and/or ranked.Type: GrantFiled: June 28, 2011Date of Patent: March 18, 2014Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Mangala G. Nanda, Krishna Nandivada Venkata, Diptikalyan Saha
-
Patent number: 8583965Abstract: Systems and methods execute a computer program to produce a trace of the computer program and divide the trace into independent threads of execution. Each of the independent threads of execution comprises an execution sequence of the lines of programming code that ends with an identified write line of programming code that outputs an incorrect result. These systems and methods also identify key field within each of the independent threads of execution. In programming, which is processing records in a table one by one, key-fields are a subset of the fields of the table. The key fields impact the computations sequence leading up to the identified write line of the programming code. These systems and methods identify key-based dynamic slices from the independent threads of execution. Each of the key-based dynamic slices includes lines of programming code that are used in computations, processing the table records corresponding to the key fields.Type: GrantFiled: June 21, 2011Date of Patent: November 12, 2013Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Mangala Gowri Nanda, Diptikalyan Saha, Krishna Nandivada Venkata
-
Patent number: 8516457Abstract: Disclosed are embodiments a computer-implemented method, a system and an associated program storage device that provide for automatic programming language grammar partitioning to solve the “code too large” problem. The embodiments partition a particular programming language grammar into logical subsets based on a set of partitioning heuristics and using a dependency graph that is preprocessed so as to be devoid of any cyclically connected grammar rule nodes. For each logical subset, textual code for a corresponding portion of a parsing program can be generated and then converted into machine-readable code for that corresponding portion of the parsing program. Thus, small amounts of textual code for portions of a parsing program are discretely converted into machine-readable code, thereby avoiding the “code too large” problem. The machine-readable code for all portions of the parsing program can then be merged and the parsing program can be executed in order to parse a corpus.Type: GrantFiled: June 28, 2011Date of Patent: August 20, 2013Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Mangala G. Nanda, Krishna Nandivada Venkata, Diptikalyan Saha
-
Publication number: 20130125098Abstract: A method and system to transform a plurality of programs associated with a plurality of programming languages is provided. In the method, a request is received by a computer to transform a first program in a first programming language to a second program in a second programming language. The first program is then transformed, wherein the transformation includes eliminating errors using predefined criteria. Further, the method maps a statement of the first program with a corresponding statement of the second program.Type: ApplicationFiled: November 10, 2011Publication date: May 16, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Pankaj Dhoolia, Anup Kumar Ghosh, Sugata Ghosal, Asidhara Lahiri, Mangala Gowri Nanda, Krishna Nandivada Venkata, Anjan Nandy, Diptikalyan Saha
-
Publication number: 20130080837Abstract: Methods and arrangements for localizing faults in programs. A program is assimilated, the program comprising statements. Output behavior of the statements is modeled, and statement occurrences are annotated. Passing and failing spectra are differenced to yield a difference, and a fault is located via employing the difference.Type: ApplicationFiled: September 28, 2011Publication date: March 28, 2013Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Satish Chandra, Pankaj Dhoolia, Mangala Gowri Nanda, Diptikalyan Saha, Vibha Singhal Sinha, Krishna Nandivada Venkata
-
Publication number: 20130006609Abstract: The embodiments provide for automatic incremental learning of programming language grammar. A corpus (i.e., a text file of software code written in a particular programming language) is parsed based on a set of grammar rules. An unparsed statement from the corpus is identified along with a section thereof, which did not match any of the grammar rules in the set. A subset of the set of grammar rules at fault for the parsing failure is identified. Groups of new grammar rules are developed such that each group comprises at least one new grammar rule, such that each group can parse the unparsed statement, and such that each new grammar rule is a modification of grammar rule(s) in the subset. One specific group can then be selected for possible incorporation into the set of grammar rules. Optionally, before a specific group is selected, the groups can be heuristically pruned and/or ranked.Type: ApplicationFiled: June 28, 2011Publication date: January 3, 2013Applicant: International Business Machines CorporationInventors: Pankaj Dhoolia, Mangala G. Nanda, Krishna Nandivada Venkata, Diptikalyan Saha
-
Publication number: 20130007722Abstract: Disclosed are embodiments a computer-implemented method, a system and an associated program storage device that provide for automatic programming language grammar partitioning to solve the “code too large” problem. The embodiments partition a particular programming language grammar into logical subsets based on a set of partitioning heuristics and using a dependency graph that is preprocessed so as to be devoid of any cyclically connected grammar rule nodes. For each logical subset, textual code for a corresponding portion of a parsing program can be generated and then converted into machine-readable code for that corresponding portion of the parsing program. Thus, small amounts of textual code for portions of a parsing program are discretely converted into machine-readable code, thereby avoiding the “code too large” problem. The machine-readable code for all portions of the parsing program can then be merged and the parsing program can be executed in order to parse a corpus.Type: ApplicationFiled: June 28, 2011Publication date: January 3, 2013Applicant: International Business Machines CorporationInventors: Pankaj Dhoolia, Mangala G. Nanda, Krishna Nandivada Venkata, Diptikalyan Saha
-
Publication number: 20120331350Abstract: Systems and methods execute a computer program to produce a trace of the computer program and divide the trace into independent threads of execution. Each of the independent threads of execution comprises an execution sequence of the lines of programming code that ends with an identified write line of programming code that outputs an incorrect result. These systems and methods also identify key field within each of the independent threads of execution. In programming, which is processing records in a table one by one, key-fields are a subset of the fields of the table. The key fields impact the computations sequence leading up to the identified write line of the programming code. These systems and methods identify key-based dynamic slices from the independent threads of execution. Each of the key-based dynamic slices includes lines of programming code that are used in computations, processing the table records corresponding to the key fields.Type: ApplicationFiled: June 21, 2011Publication date: December 27, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Pankaj Dhoolia, Mangala Gowri Nanda, Diptikalyan Saha, Krishna Nandivada Venkata
-
Publication number: 20120131549Abstract: Systems and methods for replacing inferior code segments with optimal code segments. Systems and methods for making such replacements for programming languages using Message Passing Interface (MPI) are provided. For example, at the compiler level, point-to-point code segments may be identified and replaced with all-to-all code segments. Programming code may include X10, Chapel and other programming languages that support parallel for loop.Type: ApplicationFiled: November 24, 2010Publication date: May 24, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Ganesh Bikshandi, Krishna Nandivada Venkata, Igor Peshansky, Vijay Anand Saraswat
-
Publication number: 20100211937Abstract: Techniques for representing a program are provided. The techniques include creating one or more sub-variables for each of one or more variables in the program, and maintaining a single size of each of the one or more variables throughout a life-span of each of the one or more variables. Additionally, techniques for performing register allocation are also provided. The techniques include representing bit-width information of each of one or more variables in a powers-of-two representation, wherein the one or more variables comprise one or more variables in a program, coalescing the one or more variables, packing the one or more coalesced variables, and using the one or more packed variables to perform register allocation.Type: ApplicationFiled: February 19, 2009Publication date: August 19, 2010Applicant: International Business Machines CorporationInventors: Rajkishore Barik, Krishna Nandivada Venkata