Patents by Inventor Diptikalyan Saha
Diptikalyan Saha 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: 9703547Abstract: Methods, systems, and articles of manufacture for computing program equivalence based on a hierarchy of program semantics and related canonical representations are provided herein. A method includes defining a program semantic representation for a first program; generating a search query based on said semantic representation for the first program; executing said search query against an index of multiple programs to determine a set of candidate programs among the multiple programs, wherein said index comprises a program semantic representation defined for each of the multiple programs; and identifying one or more programs among the set of candidate programs that match the first program by performing one or more comparisons, across the set of candidate programs, of a canonical representation associated with each program in the identified set of candidate programs to a canonical representation associated with the first program.Type: GrantFiled: March 24, 2014Date of Patent: July 11, 2017Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Diptikalyan Saha
-
Patent number: 9372777Abstract: Methods and arrangements for enhancing a ticket relative to user interaction with a system. An information technology ticket related to user interaction with an information technology system is received, and a system trace is activated, wherein additional input related to the user interaction with the information technology system is accepted. Information derived from the trace of the information technology system is associated with the information technology ticket. Other variants and embodiments are broadly contemplated herein.Type: GrantFiled: February 28, 2013Date of Patent: June 21, 2016Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Diptikalyan Saha, Ram Viswanathan
-
Publication number: 20150268950Abstract: Methods, systems, and articles of manufacture for computing program equivalence based on a hierarchy of program semantics and related canonical representations are provided herein. A method includes defining a program semantic representation for a first program; generating a search query based on said semantic representation for the first program; executing said search query against an index of multiple programs to determine a set of candidate programs among the multiple programs, wherein said index comprises a program semantic representation defined for each of the multiple programs; and identifying one or more programs among the set of candidate programs that match the first program by performing one or more comparisons, across the set of candidate programs, of a canonical representation associated with each program in the identified set of candidate programs to a canonical representation associated with the first program.Type: ApplicationFiled: March 24, 2014Publication date: September 24, 2015Applicant: International Business Machines CorporationInventors: Pankaj Dhoolia, Diptikalyan Saha
-
Patent number: 9122561Abstract: Methods, systems, and articles of manufacture for program integration are provided herein. A method includes identifying each varying portion of a customized version of a program as compared to a standard version of the program; identifying each common portion of the customized version as compared to the standard version; merging the customized version with the standard version to create a merged version of the program based on the identified common portions and the identified varying portions such that semantics of both the customized version and the standard version are preserved in the merged program; associating each change contributed by the customized version, represented by the varying portions in the merged version, to a defined extension point in the merged version; and generating a program extension for the standard version for each span of the program contained in a defined extension point span in the merged version.Type: GrantFiled: September 24, 2013Date of Patent: September 1, 2015Assignee: International Business Machines CorporationInventors: Pankaj Dhoolia, Diptikalyan Saha
-
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
-
Publication number: 20150089476Abstract: Methods, systems, and articles of manufacture for program integration are provided herein. A method includes identifying each varying portion of a customized version of a program as compared to a standard version of the program; identifying each common portion of the customized version as compared to the standard version; merging the customized version with the standard version to create a merged version of the program based on the identified common portions and the identified varying portions such that semantics of both the customized version and the standard version are preserved in the merged program; associating each change contributed by the customized version, represented by the varying portions in the merged version, to a defined extension point in the merged version; and generating a program extension for the standard version for each span of the program contained in a defined extension point span in the merged version.Type: ApplicationFiled: September 24, 2013Publication date: March 26, 2015Applicant: International Business Machines CorporationInventors: Pankaj Dhoolia, Diptikalyan Saha
-
Publication number: 20140358820Abstract: Methods and arrangements for providing classification for a business process hierarchy. Packaged application objects are received, comprising at least one of the standard application objects and custom objects. At least one of the standard application objects is mapped to at least one node of a business process hierarchy, thereby forming at least one mapping template. At least one of the standard application objects is mapped to at least one of the custom objects to create a first mapping, and at least one of the custom objects is mapped to at least one of the standard application objects to create a second mapping. The at least one mapping template, the first mapping and the second mapping are combined, to create a mapping of at least one of the custom objects to the business process hierarchy. Other variants and embodiments are broadly contemplated herein.Type: ApplicationFiled: June 4, 2013Publication date: December 4, 2014Inventors: Biswaroop Chatterjee, Pankaj Dhoolia, Anjan Nandy, Diptikalyan Saha, Ramesh Babu Tirukoti
-
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
-
Publication number: 20140245075Abstract: Methods and arrangements for enhancing a ticket relative to user interaction with a system. An information technology ticket related to user interaction with an information technology system is received, and a system trace is activated, wherein additional input related to the user interaction with the information technology system is accepted. Information derived from the trace of the information technology system is associated with the information technology ticket. Other variants and embodiments are broadly contemplated herein.Type: ApplicationFiled: February 28, 2013Publication date: August 28, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Pankaj Dhoolia, Diptikalyan Saha, Ram Viswanathan
-
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: 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: 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: 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: 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