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: 20240095027Abstract: 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: ApplicationFiled: September 16, 2022Publication date: March 21, 2024Inventors: Michael C. FANNING, Suvam MUKHERJEE, Danielle Nicole GONZALEZ, Christopher Michael Henry FAUCON, Pragya PRAKASH
-
Patent number: 11675768Abstract: 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: GrantFiled: May 18, 2020Date of Patent: June 13, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Scott M. Louvau, Michael C. Fanning
-
Patent number: 11663245Abstract: 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: GrantFiled: June 25, 2020Date of Patent: May 30, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Scott M. Louvau, Michael C. Fanning
-
Patent number: 11294878Abstract: 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: GrantFiled: May 6, 2020Date of Patent: April 5, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Scott M. Louvau, Michael C. Fanning
-
Publication number: 20210406289Abstract: 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: ApplicationFiled: June 25, 2020Publication date: December 30, 2021Inventors: Scott M. LOUVAU, Michael C. FANNING
-
Publication number: 20210357379Abstract: 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: ApplicationFiled: May 18, 2020Publication date: November 18, 2021Inventors: Scott M. LOUVAU, Michael C. FANNING
-
Publication number: 20210349873Abstract: 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: ApplicationFiled: May 6, 2020Publication date: November 11, 2021Inventors: Scott M. LOUVAU, Michael C. FANNING
-
Patent number: 10545852Abstract: 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: GrantFiled: September 18, 2018Date of Patent: January 28, 2020Assignee: Microsoft Technology Licensing, LLCInventors: 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: 10540416Abstract: 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: GrantFiled: June 23, 2011Date of Patent: January 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Michael C. Fanning, Matthew Hall, Gary Linscott, Felix G T I Andrew, Kenneth A. Showman, Evgeny Tvorun
-
Patent number: 10534830Abstract: 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: GrantFiled: June 23, 2011Date of Patent: January 14, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Michael C. Fanning, Matthew Hall, Gary Linscott, Evgeny Tvorun
-
Patent number: 10503743Abstract: 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: GrantFiled: November 17, 2015Date of Patent: December 10, 2019Assignee: Microsoft Technology Liscensing, LLCInventors: Scott M. Louvau, Michael C. Fanning, Christopher M. Faucon
-
Publication number: 20190057012Abstract: 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: ApplicationFiled: September 18, 2018Publication date: February 21, 2019Applicant: Microsoft Technology Licensing, LLCInventors: 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: 10162628Abstract: 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: GrantFiled: December 16, 2016Date of Patent: December 25, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Laurence Jack Golding, Michael C. Fanning, Srivatsn Narayanan, Jinu Joseph, Gen Lu, David Andrew Knise
-
Patent number: 10078575Abstract: 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: GrantFiled: March 13, 2013Date of Patent: September 18, 2018Assignee: Microsoft Technology Licensing, LLCInventors: 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: 20180173520Abstract: 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: ApplicationFiled: December 16, 2016Publication date: June 21, 2018Inventors: LAURENCE JACK GOLDING, MICHAEL C. FANNING, SRIVATSN NARAYANAN, JINU JOSEPH, GEN LU, DAVID ANDREW KNISE
-
Patent number: 9875090Abstract: 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: GrantFiled: December 20, 2012Date of Patent: January 23, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Michael C. Fanning, Frederico Mameri, Christopher M. H. Faucon
-
Patent number: 9785778Abstract: 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: GrantFiled: April 7, 2016Date of Patent: October 10, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Reza Arbabi, Wing Kwong Wan, George Raymond Derryberry, Jr., Michael C. Fanning
-
Patent number: 9760415Abstract: 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: GrantFiled: May 16, 2014Date of Patent: September 12, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Frederico A. Mameri, Zhenguang Chen, Shaofeng Zhu, Michael C. Fanning
-
Patent number: 9665463Abstract: 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: GrantFiled: June 5, 2012Date of Patent: May 30, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Benjamin J. Anderson, Michael C. Fanning, Timothy S. Rice, Andrew R. Sterland
-
Patent number: 9507653Abstract: 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: GrantFiled: September 12, 2012Date of Patent: November 29, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Benjamin J. Anderson, Michael C. Fanning, Timothy S. Rice, Andrew R. Sterland