Patents by Inventor Arjun Bijanki

Arjun Bijanki 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: 9569342
    Abstract: Systems, methods and computer program products are described herein for testing a system that is designed to optimize the execution of code within an application or other computer program based on profile data collected during the execution of such code. The embodiments described herein utilize what is referred to as a “profile data mutator” to mutate or modify the profile data between the point when it is collected and the point when it is used to apply an optimization. By mutating the profile data at this point, testing of a system for optimized code execution can be significantly more thorough. Furthermore, such profile data mutation leads to a more scalable and efficient testing technique for profile-guided systems for optimized code execution.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: February 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Arjun Bijanki, Sandeep Agarwal, Curtis Man, Louis Lafreniere, Ritesh Parikh, Sankar Sundaram
  • Patent number: 8819649
    Abstract: Methods, systems, and computer program products are provided for profiling source code to enable improved source code execution. A runtime engine includes a parser, a bytecode generator, an execution controller, an interpreter, a just-in-time (JIT) compiler, and a profile generator. The parser receives source code coded in a dynamic language and parses the source code to generate parsed source code. The bytecode generator converts the parsed source code to bytecode. The interpreter is configured to interpret the bytecode when enabled by the execution controller. The JIT compiler is configured to compile the bytecode when enabled by the execution controller. The profile generator generates profile information from the bytecode and stores the profile information. The execution controller enables the interpreter or the JIT compiler to perform their respective functions based on the profile information.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Louis Lafreniere, Curtis Man, Jedrzej Miadowicz, Paul Leathers, Jitendra Kumar, Arjun Bijanki
  • Publication number: 20140181591
    Abstract: Systems, methods and computer program products are described herein for testing a system that is designed to optimize the execution of code within an application or other computer program based on profile data collected during the execution of such code. The embodiments described herein utilize what is referred to as a “profile data mutator” to mutate or modify the profile data between the point when it is collected and the point when it is used to apply an optimization. By mutating the profile data at this point, testing of a system for optimized code execution can be significantly more thorough. Furthermore, such profile data mutation leads to a more scalable and efficient testing technique for profile-guided systems for optimized code execution.
    Type: Application
    Filed: December 20, 2012
    Publication date: June 26, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Arjun Bijanki, Sandeep Agarwal, Curtis Man, Louis Lafreniere, Ritesh Parikh, Sankar Sundaram
  • Publication number: 20130067441
    Abstract: Methods, systems, and computer program products are provided for profiling source code to enable improved source code execution. A runtime engine includes a parser, a bytecode generator, an execution controller, an interpreter, a just-in-time (JIT) compiler, and a profile generator. The parser receives source code coded in a dynamic language and parses the source code to generate parsed source code. The bytecode generator converts the parsed source code to bytecode. The interpreter is configured to interpret the bytecode when enabled by the execution controller. The JIT compiler is configured to compile the bytecode when enabled by the execution controller. The profile generator generates profile information from the bytecode and stores the profile information. The execution controller enables the interpreter or the JIT compiler to perform their respective functions based on the profile information.
    Type: Application
    Filed: September 9, 2011
    Publication date: March 14, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Louis Lafreniere, Curtis Man, Jedrzej Miadowicz, Paul Leathers, Jitendra Kumar, Arjun Bijanki