Patents by Inventor Shaz Qadeer

Shaz Qadeer 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: 20220269672
    Abstract: The present disclosure relates to systems, methods, and non-transitory computer readable storage media for implementing a scalable, secure, efficient, and adaptable distributed digital ledger transaction network. Indeed, the disclosed systems can reduce storage and processing requirements, improve security of implementing computing devices and underlying digital assets, accommodate a wide variety of different digital programs (or “smart contracts”), and scale to accommodate billions of users and associated digital transactions. For example, the disclosed systems can utilize a host of features that improve storage, account/address management, digital transaction execution, consensus, and synchronization processes. The disclosed systems can also utilize a new programming language that improves efficiency and security of the distributed digital ledger transaction network.
    Type: Application
    Filed: February 28, 2022
    Publication date: August 25, 2022
    Inventors: Samuel Howard Blackshear, Shaz Qadeer, Todd Michael Nowacki, Dario Russi, Runtian Zhou
  • Patent number: 10380008
    Abstract: A framework is described herein for identifying implicit assumptions associated with an SDK and its accompanying documentation (e.g., dev guide). An implicit assumption is information that is not expressly stated in the documentation, but which would be useful in assisting an application developer in building an application. The framework also describes a systematic approach for identifying one or more vulnerability patterns based on the identified implicit assumptions. An application developer may run a test on an application that is being developed to ensure that it does not have any deficiency which matches a vulnerability pattern.
    Type: Grant
    Filed: May 16, 2016
    Date of Patent: August 13, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rui Wang, Yuchen Zhou, Shuo Chen, Shaz Qadeer, Yuri Gurevich
  • Patent number: 10255153
    Abstract: In various embodiments, methods and systems for testing failover and recovery are provided. Systematic testing of a distributed system is performed, where the systematic testing probabilistically determines a processing order of events to effectuate system states for the plurality of state machines. An iteration of the systematic testing tests one the system states and includes sending a termination message to a state machine; receiving a termination acknowledgment message, the termination message causing the state machine to halt at the state and event of the state machine for the system state; and instantiating a recovery state machine. The recovery state machine is instantiated with a same state and same role as the halted state machine. Results of the systematic testing are verified against an expected outcome, the results being generated by running the distributed system with the instantiated recovery state machine for each iteration of the systematic testing.
    Type: Grant
    Filed: October 21, 2016
    Date of Patent: April 9, 2019
    Inventors: Narayanan Ganapathy, Shaz Qadeer, Akash Lal
  • Publication number: 20180113775
    Abstract: In various embodiments, methods and systems for testing failover and recovery are provided. Systematic testing of a distributed system is performed, where the systematic testing probabilistically determines a processing order of events to effectuate system states for the plurality of state machines. An iteration of the systematic testing tests one the system states and includes sending a termination message to a state machine; receiving a termination acknowledgment message, the termination message causing the state machine to halt at the state and event of the state machine for the system state; and instantiating a recovery state machine. The recovery state machine is instantiated with a same state and same role as the halted state machine. Results of the systematic testing are verified against an expected outcome, the results being generated by running the distributed system with the instantiated recovery state machine for each iteration of the systematic testing.
    Type: Application
    Filed: October 21, 2016
    Publication date: April 26, 2018
    Inventors: NARAYANAN GANAPATHY, SHAZ QADEER, AKASH LAL
  • Publication number: 20160259718
    Abstract: A framework is described herein for identifying implicit assumptions associated with an SDK and its accompanying documentation (e.g., dev guide). An implicit assumption is information that is not expressly stated in the documentation, but which would be useful in assisting an application developer in building an application. The framework also describes a systematic approach for identifying one or more vulnerability patterns based on the identified implicit assumptions. An application developer may run a test on an application that is being developed to ensure that it does not have any deficiency which matches a vulnerability pattern.
    Type: Application
    Filed: May 16, 2016
    Publication date: September 8, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Rui WANG, Yuchen ZHOU, Shuo CHEN, Shaz QADEER, Yuri GUREVICH
  • Patent number: 9372785
    Abstract: A framework is described herein for identifying implicit assumptions associated with an SDK and its accompanying documentation (e.g., dev guide). An implicit assumption is information that is not expressly stated in the documentation, but which would be useful in assisting an application developer in building an application. The framework also describes a systematic approach for identifying one or more vulnerability patterns based on the identified implicit assumptions. An application developer may run a test on an application that is being developed to ensure that it does not have any deficiency which matches a vulnerability pattern.
    Type: Grant
    Filed: March 7, 2013
    Date of Patent: June 21, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rui Wang, Yuchen Zhou, Shuo Chen, Shaz Qadeer, Yuri Gurevich
  • Patent number: 9329877
    Abstract: A symbolic encoding of predicated execution for static verification, based on a plurality of data parallel program instructions, is obtained. A result of static verification of one or more attributes associated with the plurality of data parallel program instructions is obtained, based on the symbolic encoding.
    Type: Grant
    Filed: March 18, 2012
    Date of Patent: May 3, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alastair Francis Donaldson, Shaz Qadeer
  • Patent number: 9063778
    Abstract: Techniques for providing a fair stateless model checker are disclosed. In some aspects, a schedule is generated to allocate resources for threads of a multi-thread program in lieu of having an operating system allocate resources for the threads. The generated schedule is both fair and exhaustive. In an embodiment, a priority graph may be implemented to reschedule a thread when a different thread is determined not to be making progress. A model checker may then implement one of the generated schedules in the program in order to determine if a bug or a livelock occurs during the particular execution of the program. An output by the model checker may facilitate identifying bugs and/or livelocks, or authenticate a program as operating correctly.
    Type: Grant
    Filed: January 9, 2008
    Date of Patent: June 23, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Madanlal Musuvathi, Shaz Qadeer
  • Patent number: 9053227
    Abstract: A concurrency assertions system disclosed herein provides for atomic evaluation of an assertion expression by locking an assertion lock upon initiating an assertion and thereby protecting the assertion evaluation from concurrent modifications to the variables in the assertion expressions. When a violation of an assertion is detected, the concurrency assertions system ensures that the exception statistics at the time of the assertion violation represents a program state where the assertion is violated, thus improving analysis of assertion violations. Furthermore, the concurrency assertions system continuously evaluates an expression for an assertion for a time period while other threads in the program are being executed.
    Type: Grant
    Filed: March 9, 2012
    Date of Patent: June 9, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jacob Samuels Burnim, Madanlal Musuvathi, Shaz Qadeer
  • Patent number: 9015674
    Abstract: Various technologies pertaining to answering reachability queries are described herein. A reachability query includes a user-specified destination line of code in source code that is desirably analyzed. A theorem prover is employed to identify an execution path through the source code that reaches the destination line of code. Graphical data is presented to the user that illustrates to the user the execution path through the source code that reaches the destination line of code.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: April 21, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert DeLine, Mike Barnett, Akash Lal, Shaz Qadeer
  • Publication number: 20140258986
    Abstract: A framework is described herein for identifying implicit assumptions associated with an SDK and its accompanying documentation (e.g., dev guide). An implicit assumption is information that is not expressly stated in the documentation, but which would be useful in assisting an application developer in building an application. The framework also describes a systematic approach for identifying one or more vulnerability patterns based on the identified implicit assumptions. An application developer may run a test on an application that is being developed to ensure that it does not have any deficiency which matches a vulnerability pattern.
    Type: Application
    Filed: March 7, 2013
    Publication date: September 11, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Rui Wang, Yuchen Zhou, Shuo Chen, Shaz Qadeer, Yuri Gurevich
  • Patent number: 8813043
    Abstract: This document describes a unified type checker and property checker for a low level program's heap and its types. The type checker can use the full power of the property checker to express and verify subtle, program specific type and memory safety invariants well beyond what the native low level program system can check. Meanwhile, the property checker can rely on the type checker to provide structure and disambiguation for the program's heap, enabling more concise and more powerful type-based specifications. This approach makes use of a fully automated Satisfiability Modulo Theories (SMT) solver and a decision procedure for checking type safety, which means that the programmer's only duty is to provide high-level type and property annotations as part of the original program's source.
    Type: Grant
    Filed: December 31, 2008
    Date of Patent: August 19, 2014
    Assignee: Microsoft Corporation
    Inventors: Jeremy P. Condit, Shaz Qadeer, Shuvendu K. Lahiri
  • Publication number: 20140096112
    Abstract: Various technologies pertaining to answering reachability queries are described herein. A reachability query includes a user-specified destination line of code in source code that is desirably analyzed. A theorem prover is employed to identify an execution path through the source code that reaches the destination line of code. Graphical data is presented to the user that illustrates to the user the execution path through the source code that reaches the destination line of code.
    Type: Application
    Filed: September 28, 2012
    Publication date: April 3, 2014
    Applicant: Microsoft Corporation
    Inventors: Robert DeLine, Mike Barnett, Akash Lal, Shaz Qadeer
  • Publication number: 20130241941
    Abstract: A symbolic encoding of predicated execution for static verification, based on a plurality of data parallel program instructions, is obtained. A result of static verification of one or more attributes associated with the plurality of data parallel program instructions is obtained, based on the symbolic encoding.
    Type: Application
    Filed: March 18, 2012
    Publication date: September 19, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Alastair Francis Donaldson, Shaz Qadeer
  • Publication number: 20130239120
    Abstract: A concurrency assertions system disclosed herein provides for atomic evaluation of an assertion expression by locking an assertion lock upon initiating an assertion and thereby protecting the assertion evaluation from concurrent modifications to the variables in the assertion expressions. When a violation of an assertion is detected, the concurrency assertions system ensures that the exception statistics at the time of the assertion violation represents a program state where the assertion is violated, thus improving analysis of assertion violations. Furthermore, the concurrency assertions system continuously evaluates an expression for an assertion for a time period while other threads in the program are being executed.
    Type: Application
    Filed: March 9, 2012
    Publication date: September 12, 2013
    Applicant: Microsoft Corporation
    Inventors: Jacob Samuels Burnim, Madanlal Musuvathi, Shaz Qadeer
  • Patent number: 7926035
    Abstract: Testing multithreaded application programs for errors can be carried out in an efficient and productive manner at least in part by prioritizing thread schedules based on numbers of context switches between threads therein. In particular, each thread schedule in a multithreaded application program can be prioritized based on whether a given thread schedule has the same as or less than some maximum value. A model checker module can then iteratively execute thread schedules that fit within a given context switch maximum value, or a progressively higher value up to some limit. In one implementation, for example, the model checker module executes all thread schedules that have zero preempting context switches, then all thread schedules that have only one preempting context switch, etc. Most errors in an application program can be identified by executing only those thread schedule with relatively few preempting context switches.
    Type: Grant
    Filed: April 24, 2007
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Madanlal S. Musuvathi, Shaz Qadeer
  • Patent number: 7779382
    Abstract: Validity of one or more assertions for any concurrent execution of a plurality of software instructions with at most k?1 context switches can be determined. Validity checking can account for execution of the software instructions in an unbounded stack depth scenario. A finite data domain representation can be used. The software instructions can be represented by a pushdown system. Validity checking can account for thread creation during execution of the plurality of software instructions.
    Type: Grant
    Filed: December 10, 2004
    Date of Patent: August 17, 2010
    Assignee: Microsoft Corporation
    Inventors: Niels Jakob Rehof, Shaz Qadeer
  • Patent number: 7752605
    Abstract: A data race detection system is described which precisely identifies data races in concurrent programs. The system and techniques described utilize locksets to maintain information while searching through executions of a concurrent program. The locksets are updated according to program statements in the concurrent program. The dynamic updating of the locksets, combined with a less conservative approach then used in existing lockset data race detection techniques, allows the technique to be precise; that is, the technique does not report false positives when searching a program.
    Type: Grant
    Filed: April 12, 2006
    Date of Patent: July 6, 2010
    Assignee: Microsoft Corporation
    Inventors: Shaz Qadeer, Tayfun Elmas
  • Publication number: 20100169868
    Abstract: This document describes a unified type checker and property checker for a low level program's heap and its types. The type checker can use the full power of the property checker to express and verify subtle, program specific type and memory safety invariants well beyond what the native low level program system can check. Meanwhile, the property checker can rely on the type checker to provide structure and disambiguation for the program's heap, enabling more concise and more powerful type-based specifications. This approach makes use of a fully automated Satisfiability Modulo Theories (SMT) solver and a decision procedure for checking type safety, which means that the programmer's only duty is to provide high-level type and property annotations as part of the original program's source.
    Type: Application
    Filed: December 31, 2008
    Publication date: July 1, 2010
    Applicant: Microsoft Corporation
    Inventors: Jeremy P. Condit, Shaz Qadeer, Shuvendu K. Lahiri
  • Patent number: 7650595
    Abstract: Described techniques and tools help model checking scale to large programs while reducing missed errors. In particular, described techniques and tools help reduce the state space of concurrent programs without depending on cycle detection and without scheduling execution of postponed threads at all cycles. For example, described techniques and tools use a type of partial-order reduction called transaction-based reduction to reduce program state space. Analysis is performed at commit points to determine whether to schedule delayed threads.
    Type: Grant
    Filed: April 29, 2005
    Date of Patent: January 19, 2010
    Assignee: Microsoft Corporation
    Inventors: Shaz Qadeer, Sriram K. Rajamani, Vladimir A. Levin, Robert Palmer