Patents by Inventor Harini Srinivasan

Harini Srinivasan 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).

  • Publication number: 20050015752
    Abstract: A system and method for providing “static analysis” of programs to aid in improving runtime performance, stability, security and privacy characteristics of deployed application code. The method includes performing a set of analyses that sifts through the program code and identifies programming security and/or privacy model coding errors. In particular the invention focuses on identifying coding errors that cause loss of correctness, performance degradation, security, privacy and maintainability vulnerabilities. A deep analysis of the program is performed using detailed control and data flow analyses. These deeper analyses provide a much better perspective of the overall application behavior. This deep analysis is in contrast to shallow analyses in current industry tools, which inspect or model a single or a few classes at a time.
    Type: Application
    Filed: July 15, 2003
    Publication date: January 20, 2005
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bowen Alpern, Robert Johnson, Aaron Kershenbaum, Lawrence Koved, George Leeman, Marco Pistoia, Darrell Reimer, Kavitha Srinivas, Harini Srinivasan
  • Patent number: 6832367
    Abstract: A method for recording and replaying execution of distributed programs on a computer system in a distributed environment, includes identifying an execution order of critical events of a program, generating groups of critical events of the program, wherein for each group, critical events belonging to the group belong to a common execution thread, and generating for each execution thread a logical thread schedule that identifies a sequence of the groups so as to allow deterministically replaying a non-deterministic arrival of stream socket connection requests, a non-deterministic number of bytes received during message reads, and a non-deterministic binding of stream sockets to local ports.
    Type: Grant
    Filed: March 6, 2000
    Date of Patent: December 14, 2004
    Assignee: International Business Machines Corporation
    Inventors: Jong-Deok Choi, Ravi Konuru, Harini Srinivasan
  • Publication number: 20040015879
    Abstract: A method and apparatus are disclosed for analyzing one or more program tasks associated with a software system. A program task-oriented tracing and analysis technique allows detailed information to be gathered and analyzed for one or more specified program tasks. A user can iteratively vary the level of detail or the selected program task(s) of interest, or both, until the source of a problem is identified. For each program task under analysis, the user can define what commences a task and what concludes a task. A software program is monitored until the user-specified criteria for commencing a task is identified and continues to trace the execution of the software program until the user-specified criteria for concluding a task is identified.
    Type: Application
    Filed: January 2, 2002
    Publication date: January 22, 2004
    Applicant: International Business Machines Corporation
    Inventors: Wim De Pauw, Nick Mitchell, Martin Robillard, Gary Sevitsky, Harini Srinivasan
  • Patent number: 6163880
    Abstract: The mechanism includes three data structures: object data associated with each object O1, O2, O3 ... of a program, a class descriptor associated with the classes to which the objects O1, O2, O3 ... belong, and interface references. For each class C.sub.i, the class descriptor corresponding to the class C.sub.i includes: i) a class method table comprising one or more entries, wherein each entry identifies an implementation of a method inherited or defined by the class C.sub.i ; and ii) for each interface implemented by the class C.sub.i, an interface method table comprising one or more entries, wherein each entry identifies an implementation of a method declared by the particular interface or an implementation of a method declared by an interface extended by the particular interface.
    Type: Grant
    Filed: February 26, 1999
    Date of Patent: December 19, 2000
    Assignee: International Business Machines Corporation
    Inventors: Ganesan Ramalingam, Harini Srinivasan
  • Patent number: 6101524
    Abstract: A multithreaded program includes sequences of events wherein each sequence is associated with one of a plurality of execution threads. In a record mode, the software tool of the present invention records a run-time representation of the program by distinguishing critical events from non-critical events of the program and identifying the execution order of such critical events. Groups of critical events are generated wherein, for each group G.sub.i, critical events belonging to the group G.sub.i belong to a common execution thread, critical events belonging to the group G.sub.i are consecutive, and only non-critical events occur between any two consecutive critical events in the group G.sub.i. In addition, the groups are ordered and no two adjacent groups include critical events that belong to a common execution thread. For each execution thread, a logical thread schedule is generated that identifies a sequence of said groups associated with the execution thread.
    Type: Grant
    Filed: October 23, 1997
    Date of Patent: August 8, 2000
    Assignee: International Business Machines Corporation
    Inventors: Jong-Deok Choi, Harini Srinivasan
  • Patent number: 5907707
    Abstract: The mechanism includes three data structures: object data associated with each object O1, O2, O3 . . . of a program, a class descriptor associated with the classes to which the objects O1, O2, O3 . . . belong, and interface references. For each class C.sub.i, the class descriptor corresponding to the class C.sub.i includes: i) a class method table comprising one or more entries, wherein each entry identifies an implementation of a method inherited or defined by the class C.sub.i ; and ii) for each interface implemented by the class C.sub.i, an interface method table comprising one or more entries, wherein each entry identifies an implementation of a method declared by the particular interface or an implementation of a method declared by an interface extended by the particular interface.
    Type: Grant
    Filed: January 14, 1997
    Date of Patent: May 25, 1999
    Assignee: International Business Machines Corporation
    Inventors: Ganesan Ramalingam, Harini Srinivasan
  • Patent number: 5794041
    Abstract: Alternatives for laying out objects and/or virtual function tables (VFTs), sharing a virtual function table pointer with a direct, virtual base, eliminating the need for an early cast by increasing the number of virtual function table entries, and providing a smart virtual dispatch that eliminates late casts where possible. An object model can be constructed by choosing one option from each of several alternatives. Interaction of alternatives include (1) sharing VFT pointers with a direct, virtual base requires that virtual base pointers are not stored in objects and (2) sharing VFT pointers affects the sharing of virtual base pointers with base classes and placement of late cast adjustment arguments and determining virtual function table entries.
    Type: Grant
    Filed: December 6, 1996
    Date of Patent: August 11, 1998
    Assignee: International Business Machines Corporation
    Inventors: Theodore Cheuk-Tak Law, Michael George Burke, Harini Srinivasan, Peter F. Sweeney