Patents by Inventor TOMAS MATOUSEK

TOMAS MATOUSEK 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: 11847433
    Abstract: A change to a first version of source code of an application that is running with a debugger attached is identified, resulting in a second version of the source code. It is determined whether the change occurred with corresponding software suspended or not. The change is applied to the software without restarting the software, based on applying the change using edit and continue (EnC) when the change occurred with the software suspended, or applying the change using hot reload when the change occurred with the software not suspended. Subsequently, the software is suspended, and debug state is presented. The presentation includes presenting the second version of the source code after EnC, or after hot reload and when the software is suspended in an updated memory entity; or presenting the first version of the source code after hot reload and when the software is suspended in a stale memory entity.
    Type: Grant
    Filed: September 10, 2021
    Date of Patent: December 19, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Tomas Matousek, Gregory Bernard Miskelly, Isadora Sophia Garcia Rodopoulos
  • Publication number: 20230385053
    Abstract: Systems and methods for implementing changes made to source code of a program at runtime are provided. In particular, a computing device may execute the source code in a runtime environment and detect changes made to the source code at runtime in the runtime environment. In response to detecting the changes, the computing device may determine if the changes were made to a type in the source code identified as reloadable. In response to determining that the changes were made to the type in the source code identified as reloadable, the computing device may create a new version of the type and perform implementation of the changes to the source code at runtime using the new version of the type.
    Type: Application
    Filed: August 10, 2023
    Publication date: November 30, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventor: Tomas MATOUSEK
  • Patent number: 11755313
    Abstract: Systems and methods for implementing changes made to source code of a program at runtime are provided. In particular, a computing device may execute the source code in a runtime environment and detect changes made to the source code at runtime in the runtime environment. In response to detecting the changes, the computing device may determine if the changes were made to a type in the source code identified as reloadable. In response to determining that the changes were made to the type in the source code identified as reloadable, the computing device may create a new version of the type and perform implementation of the changes to the source code at runtime using the new version of the type.
    Type: Grant
    Filed: July 12, 2021
    Date of Patent: September 12, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventor: Tomas Matousek
  • Publication number: 20230080221
    Abstract: A change to a first version of source code of an application that is running with a debugger attached is identified, resulting in a second version of the source code. It is determined whether the change occurred with corresponding software suspended or not. The change is applied to the software without restarting the software, based on applying the change using edit and continue (EnC) when the change occurred with the software suspended, or applying the change using hot reload when the change occurred with the software not suspended. Subsequently, the software is suspended, and debug state is presented. The presentation includes presenting the second version of the source code after EnC, or after hot reload and when the software is suspended in an updated memory entity; or presenting the first version of the source code after hot reload and when the software is suspended in a stale memory entity.
    Type: Application
    Filed: September 10, 2021
    Publication date: March 16, 2023
    Inventors: Tomas MATOUSEK, Gregory Bernard MISKELLY, Isadora Sophia GARCIA RODOPOULOS
  • Patent number: 11573787
    Abstract: Hot reloading a running application with an unsaved source code change. A code change to a source code of a running software application that is associated with a project type is identified. The code change is stored within an in-memory editor buffer, and is uncommitted to any source code file. It is determined that the code change can be applied to the running software application using hot reload. Hot reload agent(s) associated with the project type are identified. Using the hot reload agent(s), the code change is communicated to an application runtime associated with the running software application. At least one process of the running software application invokes a new compiled code entity corresponding to the code change.
    Type: Grant
    Filed: September 10, 2021
    Date of Patent: February 7, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Sayed Ibrahim Hashimi, Dmitry I. Lyalin, William Edwin Hiebert, Tomas Matousek, Damian Paul Edwards, Stephen Harris Toub, Pranav Krishnamoorthy, Isadora Sophia Garcia Rodopoulos
  • Publication number: 20230019235
    Abstract: Systems and methods for implementing changes made to source code of a program at runtime are provided. In particular, a computing device may execute the source code in a runtime environment and detect changes made to the source code at runtime in the runtime environment. In response to detecting the changes, the computing device may determine if the changes were made to a type in the source code identified as reloadable. In response to determining that the changes were made to the type in the source code identified as reloadable, the computing device may create a new version of the type and perform implementation of the changes to the source code at runtime using the new version of the type.
    Type: Application
    Filed: July 12, 2021
    Publication date: January 19, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventor: Tomas MATOUSEK
  • Publication number: 20220391541
    Abstract: Software provenance validation reports whether a validation binary matches the source code, resources, and other parts, as well as the compiler, runtime, operating system, and other context, which is specified in a provenance manifest for a release binary. Part context checksums, software versions, tool parameters, and other aspects of a build are checked. Certification signatures, timestamps, certain version differences, source code locations, and other data may be ignored for validation purposes. A provenance manifest may include other provenance manifests, including binary rewrite manifests. The provenance manifest may be stored in a debugger file with symbol information, or stored separately. Partial matches may be reported, with details of what matches or does not match. After provenance of a binary is validated, the binary's source code can be analyzed for vulnerabilities, thereby enhancing software supply chain security.
    Type: Application
    Filed: June 8, 2021
    Publication date: December 8, 2022
    Inventors: Claire NOVOTNY, Jared PARSONS, Jason R. SHAVER, Jobst-Immo LANDWERTH, Richard Steele GIBSON, Tomas MATOUSEK
  • Patent number: 10809985
    Abstract: A compiler can instrument a program during the front end of compilation to collect data about runtime behavior when the program is executed. Instrumentation can occur during source language processing rather than later in the compilation chain. The instrumentation can occur in between semantic analysis and code generation. The instrumentation can occur in an instrumenting rewriting phase. The instrumentation can occur in a first lowering phase in which high level constructs in a programming language are rewritten as lower level constructs in intermediate representation (IR). The compiler can inject the instrumentation code at particular points in the source code based on specified language constructs in the source program. The types of instrumentation injected can be extended by providing additional information to the compiler at compilation time, without the need to reprogram the compiler.
    Type: Grant
    Filed: March 9, 2017
    Date of Patent: October 20, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John Lawrence Hamby, Manish Kumar Jayaswal, Andrew Michael Casey, Aleksey Tsingauz, Tomas Matousek, Gen Lu, Tanner Evan Gooding, Ghanashyam Chandrasekhar Namboodiripad
  • Patent number: 10642714
    Abstract: Metadata tables can provide the link between the instrumentation information collected and the location in the source code of the programming language construct that was instrumented. The metadata tables enable the relationship between the programming construct in the source code and the dynamic analysis information collected to be exact rather than an estimate. During compilation information is collected that enables a mapping between document table and analysis table to occur.
    Type: Grant
    Filed: March 9, 2017
    Date of Patent: May 5, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Tomas Matousek, John Lawrence Hamby, Manish Kumar Jayaswal, Andrew Michael Casey
  • Publication number: 20180260304
    Abstract: Metadata tables can provide the link between the instrumentation information collected and the location in the source code of the programming language construct that was instrumented. The metadata tables enable the relationship between the programming construct in the source code and the dynamic analysis information collected to be exact rather than an estimate. During compilation information is collected that enables a mapping between document table and analysis table to occur.
    Type: Application
    Filed: March 9, 2017
    Publication date: September 13, 2018
    Inventors: TOMAS MATOUSEK, JOHN LAWRENCE HAMBY, MANISH KUMAR JAYASWAL, ANDREW MICHAEL CASEY
  • Publication number: 20180260198
    Abstract: A compiler can instrument a program during the front end of compilation to collect data about runtime behavior when the program is executed. Instrumentation can occur during source language processing rather than later in the compilation chain. The instrumentation can occur in between semantic analysis and code generation. The instrumentation can occur in an instrumenting rewriting phase. The instrumentation can occur in a first lowering phase in which high level constructs in a programming language are rewritten as lower level constructs in intermediate representation (IR). The compiler can inject the instrumentation code at particular points in the source code based on specified language constructs in the source program. The types of instrumentation injected can be extended by providing additional information to the compiler at compilation time, without the need to reprogram the compiler.
    Type: Application
    Filed: March 9, 2017
    Publication date: September 13, 2018
    Inventors: JOHN LAWRENCE HAMBY, MANISH KUMAR JAYASWAL, ANDREW MICHAEL CASEY, ALEKSEY TSINGAUZ, TOMAS MATOUSEK, GEN LU, TANNER EVAN GOODING, GHANASHYAN CHANDRASEKHAR NAMBOODIRIPAD