Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ivan/dev mbt basics #303

Merged
merged 5 commits into from
May 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion jekyll/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Jekyll Website for Model Based Testing
# Jekyll Website for Model Based Techniques

The website is live at [https://mbt.informal.systems](https://mbt.informal.systems)

Expand Down
2 changes: 1 addition & 1 deletion jekyll/_config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
title: Model Based Testing
title: Model Based Techniques
description: Part of Informal Systems
baseurl: ""
url: "https://mbt.informal.systems"
Expand Down
2 changes: 1 addition & 1 deletion jekyll/docs/model.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Model extraction
description: Extract abstract model from your implementation
layout: default
parent: Model Based Testing
parent: Model Based Techniques
nav_order: 2
--- -->

Expand Down
2 changes: 1 addition & 1 deletion jekyll/docs/modelator.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Modelator
description: Tool to model based testing from Informal Systems
layout: default
parent: Model Based Testing
parent: Model Based Techniques
nav_order: 3
---

Expand Down
20 changes: 16 additions & 4 deletions jekyll/index.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,27 @@
---
layout: default
title: Model Based Testing
title: Model Based Techniques
nav_order: 1
description: Model Based Testing in Informal Systems
description: Model Based Techniques at Informal Systems
has_children: true
---

# Model Based Testing @ Informal Systems
# Model Based Techniques for Software Correctness
Building a model of our software gives us a couple of elegant and efficient ways to increase confidence in its correctness.
Modeling languages (such as [TLA+](https://lamport.azurewebsites.net/tla/tla.html) and [Quint](https://github.com/informalsystems/quint)) are supported by _model checkers_, which enable us to reason about the model's properties.
We can specify desired properties and verify that the model satisfies them. We can also generate a large number of tests directly from the model and run them against the implementation.

At Informal Systems we aim to incorporate formal methods into everyday development practice. On the practical side, we develop tools and techniques that help developers to increase confidence in their code via automated generation and execution of tests derived from TLA+ models.
A model can be written even before the development starts.
This enables finding problems early on, in the development phase.

Besides being a tool for finding difficult-to-spot problems, models serve as high-level yet precise and executable specifications.


# Model Based Techniques @ Informal Systems

At Informal Systems, we use model-based techniques both in our development practice and as a part of our security audit services.
We develop and maintain the following tools that make model-based techniques easy to incorporate into the development and auditing practice:
- [Quint](https://github.com/informalsystems/quint), a modern modeling language
- [Apalache](https://apalache.informal.systems/), a symbolic model checker
- [Modelator](https://github.com/informalsystems/modelator), a tool that enables automatic generation of tests from models
- [cosmwasm-to-quint](https://github.com/informalsystems/cosmwasm-to-quint), a tool for generating Quint model stubs and accompanying tests directly from [CosmWasm](https://cosmwasm.com/) contracts