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: 11847433Abstract: 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: GrantFiled: September 10, 2021Date of Patent: December 19, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Tomas Matousek, Gregory Bernard Miskelly, Isadora Sophia Garcia Rodopoulos
-
Publication number: 20230385053Abstract: 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: ApplicationFiled: August 10, 2023Publication date: November 30, 2023Applicant: Microsoft Technology Licensing, LLCInventor: Tomas MATOUSEK
-
Patent number: 11755313Abstract: 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: GrantFiled: July 12, 2021Date of Patent: September 12, 2023Assignee: Microsoft Technology Licensing, LLCInventor: Tomas Matousek
-
Publication number: 20230080221Abstract: 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: ApplicationFiled: September 10, 2021Publication date: March 16, 2023Inventors: Tomas MATOUSEK, Gregory Bernard MISKELLY, Isadora Sophia GARCIA RODOPOULOS
-
Patent number: 11573787Abstract: 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: GrantFiled: September 10, 2021Date of Patent: February 7, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: 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: 20230019235Abstract: 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: ApplicationFiled: July 12, 2021Publication date: January 19, 2023Applicant: Microsoft Technology Licensing, LLCInventor: Tomas MATOUSEK
-
Publication number: 20220391541Abstract: 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: ApplicationFiled: June 8, 2021Publication date: December 8, 2022Inventors: Claire NOVOTNY, Jared PARSONS, Jason R. SHAVER, Jobst-Immo LANDWERTH, Richard Steele GIBSON, Tomas MATOUSEK
-
Patent number: 10809985Abstract: 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: GrantFiled: March 9, 2017Date of Patent: October 20, 2020Assignee: Microsoft Technology Licensing, LLCInventors: John Lawrence Hamby, Manish Kumar Jayaswal, Andrew Michael Casey, Aleksey Tsingauz, Tomas Matousek, Gen Lu, Tanner Evan Gooding, Ghanashyam Chandrasekhar Namboodiripad
-
Patent number: 10642714Abstract: 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: GrantFiled: March 9, 2017Date of Patent: May 5, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Tomas Matousek, John Lawrence Hamby, Manish Kumar Jayaswal, Andrew Michael Casey
-
Publication number: 20180260304Abstract: 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: ApplicationFiled: March 9, 2017Publication date: September 13, 2018Inventors: TOMAS MATOUSEK, JOHN LAWRENCE HAMBY, MANISH KUMAR JAYASWAL, ANDREW MICHAEL CASEY
-
Publication number: 20180260198Abstract: 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: ApplicationFiled: March 9, 2017Publication date: September 13, 2018Inventors: JOHN LAWRENCE HAMBY, MANISH KUMAR JAYASWAL, ANDREW MICHAEL CASEY, ALEKSEY TSINGAUZ, TOMAS MATOUSEK, GEN LU, TANNER EVAN GOODING, GHANASHYAN CHANDRASEKHAR NAMBOODIRIPAD