Patents by Inventor Maksim V. Panchenko

Maksim V. Panchenko 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: 8478948
    Abstract: A system and method for performing efficient program instrumentation for memory profiling. A computing system comprises a memory profiler comprising a static binary instrumentation (SBI) tool and a dynamic binary analysis (DBA) tool. The profiler is configured to selectively instrument memory access operations of a software application. Instrumentation may be bypassed completely for an instruction if the instruction satisfies some predetermined conditions. Some sample conditions include the instruction accesses an address within a predetermined read-only area, the instruction accesses an address within a user-specified address range, and/or the instruction is a load instruction accessing a memory location determined from a data flow graph to store an initialized value.
    Type: Grant
    Filed: December 4, 2008
    Date of Patent: July 2, 2013
    Assignee: Oracle America, Inc.
    Inventors: Maksim V. Panchenko, Chandrashekhar R. Garud, Fu-Hwa Wang
  • Patent number: 8060869
    Abstract: A method and system for providing a binary instrumentation tool to detect memory problems in a runtime application executing on a computer system includes identifying one or more functions or statements in the runtime application. A plurality of compiler annotations defining essential functional characteristic data of each of the plurality of functions is generated by a compiler when compiling the user program from source code to an executable binary code. A program error detector is configured to provide a checker code based on guidelines provided by of the plurality of compiler annotations associated with the function. The program error detector generates a modified function code for the identified function by inserting the checker code into a function code for the corresponding function. A modified executable binary code for the runtime application is then generated by replacing the function code for the function with the corresponding modified function code.
    Type: Grant
    Filed: June 8, 2007
    Date of Patent: November 15, 2011
    Assignee: Oracle America, Inc.
    Inventors: Maksim V Panchenko, Fu-Hwa Wang
  • Patent number: 7873952
    Abstract: A code, which may be a post-link binary or a pre-link object file, can be transformed to optimize code fragments that implement loading a constant from memory. A constant loading code fragment includes address computing operations that compute (or copy) an address representation of a constant for consumption by a memory access operation, and the memory access operation that loads the constant. Information from control flow analysis, data flow analysis, and binary structure/configuration analysis are examined to identify code fragments of a code that implement constant loading. A tool transforms the code to convert the identified code fragments. To optimize, the tool may convert operations, eliminate operations, convert indirect calls to direct calls, inline functions called indirectly, eliminate unused constant data, modify relocations, etc. This optimization can also be applied recursively.
    Type: Grant
    Filed: March 9, 2006
    Date of Patent: January 18, 2011
    Assignee: Oracle America, Inc.
    Inventors: Dmitri Shtilman, Maksim V. Panchenko, Fu-Hwa Wang
  • Publication number: 20100146220
    Abstract: A system and method for performing efficient program instrumentation for memory profiling. A computing system comprises a memory profiler comprising a static binary instrumentation (SBI) tool and a dynamic binary analysis (DBA) tool. The profiler is configured to selectively instrument memory access operations of a software application. Instrumentation may be bypassed completely for an instruction if the instruction satisfies some predetermined conditions. Some sample conditions include the instruction accesses an address within a predetermined read-only area, the instruction accesses an address within a user-specified address range, and/or the instruction is a load instruction accessing a memory location determined from a data flow graph to store an initialized value.
    Type: Application
    Filed: December 4, 2008
    Publication date: June 10, 2010
    Inventors: Maksim V. Panchenko, Chandrashekhar R. Garud, Fu-Hwa Wang
  • Patent number: 7721274
    Abstract: Performance information can be utilized for comparison of resolving an external object reference through a linking module against accessing the external object directly (“relocation processing”). With the performance information, a determination of whether performing relocation processing on a runtime linked external object reference provides improved runtime performance sufficient to outweigh the runtime linking overhead incurred from the relocation processing is made. If the improvement in runtime performance is sufficient, then the runtime linked external object reference, or the code section that includes the reference, is marked to indicate that relocation processing should be applied.
    Type: Grant
    Filed: May 5, 2004
    Date of Patent: May 18, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Maksim V. Panchenko, Fu-Hwa Wang
  • Patent number: 7676799
    Abstract: A method for optimizing executable code includes identifying a plurality of instructions in the executable code matching a predetermined instruction pattern, assessing whether the binary number conforms to a predetermined bit pattern, and transforming the plurality of instructions into transformed instructions when the binary number conforms to the bit pattern.
    Type: Grant
    Filed: June 10, 2005
    Date of Patent: March 9, 2010
    Assignee: Sun Microsystems, Inc.
    Inventors: Maksim V. Panchenko, Fu-Hwa Wang