Microsoft Research Blog

Formal methods

  1. High Assurance Software for Financial Regulation and Business Platforms 

    January 1, 2022

    The financial technology sector is undergoing a transformation in moving to open-source and collaborative approaches as it works to address increasing compliance and assurance needs in its software stacks. Programming languages and validation technologies are a foundational part of this change. Based on this viewpoint,…

  2. Inferring Formal Properties of Production Key-Value Stores 

    December 1, 2017

    Production distributed systems are challenging to formally verify, in particular when they are based on distributed protocols that are not rigorously described or fully understood. In this paper, we derive models and properties for two core distributed protocols used in eventually consistent production key-value stores…

  3. Formal modeling and analysis of RAMP transaction systems 

    April 1, 2016

    To cope with large data sets, distributed data stores partition their data across servers. However, real-world systems usually do not provide useful transactional semantics for operations accessing multiple partitions due to the delays involved in achieving multi-partition consistency. Read Atomic Multi-Partition (RAMP) transactions have recently…

  4. Quantitative Analysis of Consistency in NoSQL Key-Value Stores 

    August 1, 2015

    The promise of high scalability and availability has prompted many companies to replace traditional relational database management systems (RDBMS) with NoSQL key-value stores. This comes at the cost of relaxed consistency guarantees: key-value stores only guarantee eventual consistency in principle. In practice, however, many key-value…

  5. Formal Modeling and Analysis of Cassandra in Maude 

    January 1, 2014

    Distributed key-value stores are quickly becoming a key component of cloud computing systems. In order to improve read/write latency, distributed key-value stores offer weak notions of consistency to clients by using many complex design decisions. However, it is challenging to formally analyze consistency behaviors of…