Patents by Inventor Conal McGarvey

Conal McGarvey 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: 10922249
    Abstract: Systems and methods are described for verifying functionality of a computing device. A plurality of I/O control codes usable to configure specified actions for a device under test is received. The I/O control codes that were completed without generating an error are determined. The I/O control codes that completed without generating an error and associated binding information are recorded. The I/O control codes that completed without generating an error and associated binding information are stored in a format usable for subsequent replay of the stored I/O control codes.
    Type: Grant
    Filed: January 15, 2019
    Date of Patent: February 16, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Cymonique Anita Kilmer, Conal McGarvey, Andrew D. Mikesell, Sebastian Lerner, Prashant Chahar
  • Publication number: 20200226082
    Abstract: Systems and methods are described for verifying functionality of a computing device. A plurality of I/O control codes usable to configure specified actions for a device under test is received. The I/O control codes that were completed without generating an error are determined. The I/O control codes that completed without generating an error and associated binding information are recorded. The I/O control codes that completed without generating an error and associated binding information are stored in a format usable for subsequent replay of the stored I/O control codes.
    Type: Application
    Filed: January 15, 2019
    Publication date: July 16, 2020
    Inventors: Cymonique Anita KILMER, Conal McGarvey, Andrew D. Mikesell, Sebastian Lerner, Prashant Chahar
  • Patent number: 10481969
    Abstract: Systems and methods to conduct data-driven, system wide tests are disclosed. Instructions for testing an operating system are associated with one or more modules associated with the computing system. When a failed test is identified, a second set of instructions that accounts for the failed test is generated and executed, in order to efficiently identify and target specific issues. Results from these fully configurable testing methods can be communicated and utilized in further applications.
    Type: Grant
    Filed: June 30, 2017
    Date of Patent: November 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Conal McGarvey, Jakob F. Lichtenberg, Andrew D. Mikesell, Remy L. De Weduwe
  • Patent number: 10261925
    Abstract: Enhanced techniques for detecting programming errors in device drivers are provided. The techniques disclosed herein enable a system to measure a number of aspects of IRPs including, but not limited to, data identifying processed IRPs, data indicating concurrent IRPs, data identifying a stack location associated with a status of an IRP, and individual status values, which may indicate whether IRPs have failed, succeeded or pended. The disclosed techniques enable a system to determine when and where IRPs were sent or not sent to a stack of device objects and/or to individual device objects. The disclosed techniques enable the system to measure the processing of concurrent IRPs. By the use of filters that are positioned in predetermined locations within a stack, disclosed techniques can test and monitor drivers without imposing unduly burdensome loads on the system.
    Type: Grant
    Filed: June 23, 2017
    Date of Patent: April 16, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Conal McGarvey, Andrew D. Mikesell
  • Publication number: 20180373654
    Abstract: Enhanced techniques for detecting programming errors in device drivers are provided. The techniques disclosed herein enable a system to measure a number of aspects of IRPs including, but not limited to, data identifying processed IRPs, data indicating concurrent IRPs, data identifying a stack location associated with a status of an IRP, and individual status values, which may indicate whether IRPs have failed, succeeded or pended. The disclosed techniques enable a system to determine when and where IRPs were sent or not sent to a stack of device objects and/or to individual device objects. The disclosed techniques enable the system to measure the processing of concurrent IRPs. By the use of filters that are positioned in predetermined locations within a stack, disclosed techniques can test and monitor drivers without imposing unduly burdensome loads on the system.
    Type: Application
    Filed: June 23, 2017
    Publication date: December 27, 2018
    Inventors: Conal MCGARVEY, Andrew D. MIKESELL
  • Publication number: 20180225165
    Abstract: Systems and methods to conduct data-driven, system wide tests are disclosed. Instructions for testing an operating system are associated with one or more modules associated with the computing system. When a failed test is identified, a second set of instructions that accounts for the failed test is generated and executed, in order to efficiently identify and target specific issues. Results from these fully configurable testing methods can be communicated and utilized in further applications.
    Type: Application
    Filed: June 30, 2017
    Publication date: August 9, 2018
    Inventors: Conal McGarvey, Jakob F. Lichtenberg, Andrew D. Mikesell, Remy L. De Weduwe
  • Patent number: 8826238
    Abstract: Various embodiments provide per group verification techniques in which code may be verified against one or more rules on a group by group basis. In one or more embodiments relationships between portions of a module to be verified can be defined. By being aware of relationships between various code portions, various embodiments can divide a module into related groups and perform verification on the basis of the groups. Multiple groups can be derived based at least in part upon the relationships. Each group can then be verified separately for compliance with one or more rules. Verification results can be output for each of the groups.
    Type: Grant
    Filed: January 22, 2009
    Date of Patent: September 2, 2014
    Assignee: Microsoft Corporation
    Inventors: Adam Shapiro, Conal McGarvey, Vladimir A. Levin, Jakob F. Lichtenberg
  • Publication number: 20100275186
    Abstract: Various embodiments provide techniques to segment program code that may be the subject of static analysis. In one or more embodiments, an algorithm is applied to an abstract representation of the program code to derive segments for the program code. In at least some embodiments, multiple segments can be derived based at least in part upon of one or more “boxed” portions of the program code that are designated to remain intact within the segments. Each segment can then be subjected individually to static analysis to verify compliance with one or more prescribed behaviors. Verification results can be output for each individual segment and the individual results can be combined to obtain results for the program code overall.
    Type: Application
    Filed: April 28, 2009
    Publication date: October 28, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Conal McGarvey, Vladimir A. Levin, Jakob F. Lichtenberg
  • Publication number: 20100186003
    Abstract: Various embodiments provide per group verification techniques in which code may be verified against one or more rules on a group by group basis. In one or more embodiments relationships between portions of a module to be verified can be defined. By being aware of relationships between various code portions, various embodiments can divide a module into related groups and perform verification on the basis of the groups. Multiple groups can be derived based at least in part upon the relationships. Each group can then be verified separately for compliance with one or more rules. Verification results can be output for each of the groups.
    Type: Application
    Filed: January 22, 2009
    Publication date: July 22, 2010
    Applicant: Microsoft Corporation
    Inventors: Adam Shapiro, Conal McGarvey, Vladimir A. Levin, Jakob F. Lichtenberg
  • Publication number: 20090319997
    Abstract: A verification engine for verifying compliance of a module of computer-executable instructions to various specifications or guidelines can utilize precondition rules to obtain information about the module so as to select appropriate rules with which the module will be verified. The precondition rules can inform an evaluation tool, which can obtain the specified information about the module. A preprocessor can then evaluate conditional statements and select one or more rules or environment modules based on the results of the evaluation of the precondition rules. Multiple levels of dependent precondition rules can be evaluated with a drill-down approach, where each dependency chain is evaluated until a terminal level, or with a layered approach, where all terminal level precondition rules are evaluated followed by precondition rules of increasingly higher levels.
    Type: Application
    Filed: June 20, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Jakob Frederik Lichtenberg, Conal McGarvey, Eleonora O. Bounimova, Vladimir A. Levin