Patents by Inventor Michael C. Fanning

Michael C. Fanning 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: 20240095027
    Abstract: Static analysis of a code base is expanded beyond finding faults to also find code instances where a particular fault could have occurred but did not. A conformance count reflects code portions that satisfy a specified coding rule per static analysis, and a nonconformance count reflects code portions that do not satisfy the coding rule. Various metrics computed from the conformance count and nonconformance count drive software development quality assessments. For example, bugs or bug categories may be prioritized for developer attention, static analysis tools are evaluated based on the metrics, to reduce noise by eliminating low-value bug alerts. Particular areas of expertise of developers and developer groups are objectively identified. Source code editors are enhanced to provide specific recommendations in context. Other quality enhancements are also provided.
    Type: Application
    Filed: September 16, 2022
    Publication date: March 21, 2024
    Inventors: Michael C. FANNING, Suvam MUKHERJEE, Danielle Nicole GONZALEZ, Christopher Michael Henry FAUCON, Pragya PRAKASH
  • Patent number: 11675768
    Abstract: Compression of data that permits direct reconstruction of arbitrary portions of the uncompressed data. Also, the direct reconstruction of arbitrary portions of the uncompressed data. Conventional compression is done such that decompression has to begin either at the very beginning of the data, or at particular intervals (e.g., at block boundaries—every 64 kilobytes) within the data. However, the principles described herein permit decompression to begin at any point within the compressed data, without having to decompress any prior portion of the file. Thus, the principles described herein permit random access of the compressed data. In accordance with the principles described herein, this is accomplished by using an index that correlates positions within the uncompressed data with positions within the compressed data.
    Type: Grant
    Filed: May 18, 2020
    Date of Patent: June 13, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Scott M. Louvau, Michael C. Fanning
  • Patent number: 11663245
    Abstract: Partial initial construction of a deferred object model. This is done using a map that correlates positions of a hierarchically structured definition and corresponding hierarchical positions within an object model. The map is accessed and used to initially construct a deferred object model that even leaves some of the deferred objects unpopulated. The map is used to determine which parts of the hierarchical object definition no longer need to be parsed in order to construct this initial form of the deferred object model. If a request for an object is detected at some point after the initial construction, and that requested object is not represented even in deferred form in the deferred object model, the system uses the map to find the position of the corresponding object definition in the hierarchical object definition. At that point, the system parses that position, and constructs the object.
    Type: Grant
    Filed: June 25, 2020
    Date of Patent: May 30, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Scott M. Louvau, Michael C. Fanning
  • Patent number: 11294878
    Abstract: A data structure that includes border data structures that appear at the respective interfaces between each of at least some of the segments in the data structure. The border does not conform to a data format for any of the elemental data types of the elemental data items represented within the data structure, and does not represent a size of any of the neighboring segments. Second, the data structure also includes an index. When writing the data structure, the writer tracks the position of each of the regions. When all segments and regions have been written, the writer can then write an index that represents the position of each region. The reader can then use that index to quickly read from only those regions of interest, and quickly skip over regions not of interest.
    Type: Grant
    Filed: May 6, 2020
    Date of Patent: April 5, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Scott M. Louvau, Michael C. Fanning
  • Publication number: 20210406289
    Abstract: Partial initial construction of a deferred object model. This is done using a map that correlates positions of a hierarchically structured definition and corresponding hierarchical positions within an object model. The map is accessed and used to initially construct a deferred object model that even leaves some of the deferred objects unpopulated. The map is used to determine which parts of the hierarchical object definition no longer need to be parsed in order to construct this initial form of the deferred object model. If a request for an object is detected at some point after the initial construction, and that requested object is not represented even in deferred form in the deferred object model, the system uses the map to find the position of the corresponding object definition in the hierarchical object definition. At that point, the system parses that position, and constructs the object.
    Type: Application
    Filed: June 25, 2020
    Publication date: December 30, 2021
    Inventors: Scott M. LOUVAU, Michael C. FANNING
  • Publication number: 20210357379
    Abstract: Compression of data that permits direct reconstruction of arbitrary portions of the uncompressed data. Also, the direct reconstruction of arbitrary portions of the uncompressed data. Conventional compression is done such that decompression has to begin either at the very beginning of the data, or at particular intervals (e.g., at block boundaries—every 64 kilobytes) within the data. However, the principles described herein permit decompression to begin at any point within the compressed data, without having to decompress any prior portion of the file. Thus, the principles described herein permit random access of the compressed data. In accordance with the principles described herein, this is accomplished by using an index that correlates positions within the uncompressed data with positions within the compressed data.
    Type: Application
    Filed: May 18, 2020
    Publication date: November 18, 2021
    Inventors: Scott M. LOUVAU, Michael C. FANNING
  • Publication number: 20210349873
    Abstract: A data structure that includes border data structures that appear at the respective interfaces between each of at least some of the segments in the data structure. The border does not conform to a data format for any of the elemental data types of the elemental data items represented within the data structure, and does not represent a size of any of the neighboring segments. Second, the data structure also includes an index. When writing the data structure, the writer tracks the position of each of the regions. When all segments and regions have been written, the writer can then write an index that represents the position of each region. The reader can then use that index to quickly read from only those regions of interest, and quickly skip over regions not of interest.
    Type: Application
    Filed: May 6, 2020
    Publication date: November 11, 2021
    Inventors: Scott M. LOUVAU, Michael C. FANNING
  • Patent number: 10545852
    Abstract: A method for diagnosing computer readable instructions related to transfers of control is disclosed. A state transition of a unit of execution within a logical operation providing an event handler for a Document Object Model is logged during runtime of the computer readable instructions. Diagnostic information of the logical operation is associated with the state transition. The state transition and associated diagnostic information is provided for retrieval at a selected point in the computer readable instructions.
    Type: Grant
    Filed: September 18, 2018
    Date of Patent: January 28, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael C. Fanning, Felix Gerard Torquil Ifor Andrew, Daniel J. Moseley, Simon Calvert, Andrew R. Sterland, Timothy Rice, Jeffrey T. Fisher, Robert A. Paveza, Taylor C. Woll, Gregg Miskelly, Harold L. Pierson, III, Christopher Edmonds, Elliot H. Omiya, Karthik Vivek Nadig, Francisco Javier Wong, Zhaochuan Gao, Andriy Stasyuk
  • Patent number: 10540416
    Abstract: A method includes parsing a text source document to construct a document node tree such that the document node tree includes text offsets indicating the location of the text within the text source document corresponding to each node of the document node tree. The method includes constructing, from the document node tree, a Document Object Model (DOM) and a view node tree that represents the DOM. The constructing of the view node tree includes mapping the view node tree to the document node tree. The method includes providing a running representation of the DOM such that DOM elements of the DOM are linked to the text within the text source document corresponding to the DOM elements via the view node tree and the document node tree.
    Type: Grant
    Filed: June 23, 2011
    Date of Patent: January 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael C. Fanning, Matthew Hall, Gary Linscott, Felix G T I Andrew, Kenneth A. Showman, Evgeny Tvorun
  • Patent number: 10534830
    Abstract: A method includes parsing a text source document to construct a document node tree such that the document node tree includes text offsets indicating the location of the text within the text source document corresponding to each node of the document node tree. The method includes constructing, from the document node tree, a Document Object Model (DOM) and a view node tree that represents the DOM. The constructing of the view node tree includes mapping the view node tree to the document node tree. The method includes providing a running representation of the DOM and one of tracking a modification to the DOM to provide first change information and tracking a modification to the text source document to provide second change information.
    Type: Grant
    Filed: June 23, 2011
    Date of Patent: January 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael C. Fanning, Matthew Hall, Gary Linscott, Evgeny Tvorun
  • Patent number: 10503743
    Abstract: Aspects of the subject matter described herein relate to searching. In aspects, a software package may be received and transformed into searchable data. Static and dynamic analysis may be performed on code and data included in the software package. A data structure is created that may index the code, metadata, indexable resources, and analysis artifacts associated with the software package. The data structure may be used to satisfy queries and the transformed data and analysis artifacts may be made available for viewing.
    Type: Grant
    Filed: November 17, 2015
    Date of Patent: December 10, 2019
    Assignee: Microsoft Technology Liscensing, LLC
    Inventors: Scott M. Louvau, Michael C. Fanning, Christopher M. Faucon
  • Publication number: 20190057012
    Abstract: A method for diagnosing computer readable instructions related to transfers of control is disclosed. A state transition of a unit of execution within a logical operation providing an event handler for a Document Object Model is logged during runtime of the computer readable instructions. Diagnostic information of the logical operation is associated with the state transition. The state transition and associated diagnostic information is provided for retrieval at a selected point in the computer readable instructions.
    Type: Application
    Filed: September 18, 2018
    Publication date: February 21, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Michael C. Fanning, Felix Gerard Torquil Ifor Andrew, Daniel J. Moseley, Simon Calvert, Andrew R. Sterland, Timothy Rice, Jeffrey T. Fisher, Robert A. Paveza, Taylor C. Woll, Gregg Miskelly, Harold L. Pierson, III, Christopher Edmonds, Elliot H. Omiya, Karthik Vivek Nadig, Francisco Javier Wong, Zhaochuan Gao, Andriy Stasyuk
  • Patent number: 10162628
    Abstract: A data analysis and transformation engine provides a service that automatically analyzes, formats, and/or reviews changes made to collection of artifacts stored in one or more source control systems in accordance with a user's instructions in a coordinated manner. A user subscribes to the data analysis and transformation engine with instructions on the user's preference for formatting, reviewing, and analyzing an artifact after the artifact was modified and checked into a source control system.
    Type: Grant
    Filed: December 16, 2016
    Date of Patent: December 25, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Laurence Jack Golding, Michael C. Fanning, Srivatsn Narayanan, Jinu Joseph, Gen Lu, David Andrew Knise
  • Patent number: 10078575
    Abstract: A method for diagnosing computer readable instructions related to transfers of control is disclosed. A state transition of a unit of execution within a logical operation is logged during runtime of the computer readable instructions. Diagnostic information of the logical operation is associated with the state transition. The state transition and associated diagnostic information is provided for retrieval at a selected point in the computer readable instructions.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: September 18, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael C. Fanning, Felix Gerard Torquil Ifor Andrew, Daniel J. Moseley, Simon Calvert, Andrew R. Sterland, Timothy Rice, Jeffrey T. Fisher, Robert A. Paveza, Taylor C. Woll, Gregg Miskelly, Harold L. Pierson, III, Christopher Edmonds, Elliot H. Omiya, Karthik Vivek Nadig, Francisco Javier Wong, Zhaochuan Gao, Andriy Stasyuk
  • Publication number: 20180173520
    Abstract: A data analysis and transformation engine provides a service that automatically analyzes, formats, and/or reviews changes made to collection of artifacts stored in one or more source control systems in accordance with a user's instructions in a coordinated manner. A user subscribes to the data analysis and transformation engine with instructions on the user's preference for formatting, reviewing, and analyzing an artifact after the artifact was modified and checked into a source control system.
    Type: Application
    Filed: December 16, 2016
    Publication date: June 21, 2018
    Inventors: LAURENCE JACK GOLDING, MICHAEL C. FANNING, SRIVATSN NARAYANAN, JINU JOSEPH, GEN LU, DAVID ANDREW KNISE
  • Patent number: 9875090
    Abstract: A deployment package descriptor may be obtained. One or more application files that include application content in a plurality of different data formats may be obtained. An analysis of the application content included in the obtained one or more application files may be initiated, based on a plurality of different data formats and descriptive information associated with the obtained application files, the descriptive information included in the obtained deployment package descriptor.
    Type: Grant
    Filed: December 20, 2012
    Date of Patent: January 23, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael C. Fanning, Frederico Mameri, Christopher M. H. Faucon
  • Patent number: 9785778
    Abstract: A test object that includes at least one computer program that includes dynamic executable code is obtained. The at least one computer program is transformed into a format that is configured to execute in a hosted isolated computing environment. Directed execution of the at least one computer program is initiated, in the hosted isolated computing environment. Dynamic code vulnerabilities of the at least one computer program are detected, based on the directed execution.
    Type: Grant
    Filed: April 7, 2016
    Date of Patent: October 10, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Reza Arbabi, Wing Kwong Wan, George Raymond Derryberry, Jr., Michael C. Fanning
  • Patent number: 9760415
    Abstract: Disclosed herein are systems, methods, and software to enhance the interoperability of components written in different programming languages. In an implementation, a code service receives a request message communicated by an application component via a message interface in an application environment that is at a layer above a target environment. The request message includes a request to invoke a target component available in the target environment and programmed in a language different from that of the application component. In response to the request, the service identifies at least a service component associated with invoking the target component in the target environment. The service component is executed to invoke the target component via a component interface.
    Type: Grant
    Filed: May 16, 2014
    Date of Patent: September 12, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Frederico A. Mameri, Zhenguang Chen, Shaofeng Zhu, Michael C. Fanning
  • Patent number: 9665463
    Abstract: Techniques are described herein that are capable of instantiating and executing in-process wrapped execution engine(s) for tooling a dynamic program across a process boundary. For instance, a dynamic language execution engine may be instantiated in a wrapper object that is hosted in a host process to provide a wrapped execution engine while the host process is running. The wrapped execution engine may be configured to provide information regarding execution of a targeted application of the host process to a requesting application. The wrapped execution engine may be isolated from other execution engine(s) that are included in the host process such that the targeted application does not have access to code that defines the wrapped execution engine. The targeted application may include one or more of the other execution engines.
    Type: Grant
    Filed: June 5, 2012
    Date of Patent: May 30, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin J. Anderson, Michael C. Fanning, Timothy S. Rice, Andrew R. Sterland
  • Patent number: 9507653
    Abstract: Techniques are described herein that are capable of constructing an inter-process communication channel, for example, between a requesting component and a targeted process. The communication channel may have one or more links, such that each link is defined by a respective node pair in a plurality of nodes. The plurality of nodes includes the requesting component, the targeted process, and optionally one or more intermediate nodes. An attachment request is received via a user interface. The requesting component is attached to the targeted process. For instance, the links may be traversed to discover the targeted process. The communication channel is established. For instance, in each node of a subset of the plurality of nodes, node information may be retained to indicate a next consecutive node of the plurality of nodes to which messages from the requesting component to the targeted process are to be delivered.
    Type: Grant
    Filed: September 12, 2012
    Date of Patent: November 29, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin J. Anderson, Michael C. Fanning, Timothy S. Rice, Andrew R. Sterland