Skip to content

Commit

Permalink
clarify deliverables
Browse files Browse the repository at this point in the history
  • Loading branch information
masapr committed Jul 13, 2023
1 parent 6595022 commit bf0f18c
Showing 1 changed file with 14 additions and 10 deletions.
24 changes: 14 additions & 10 deletions applications/sarp-2-swdesign.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,22 +114,26 @@ In our previous work, we found the following problems:

3. **Invasiveness of tag analysis** The code we wrote in our PoC is very invasive and changes the code of the pallet. This is not practical for end-users. Ideally the user doesn't need to change anything on their code, or at least the changes should be very simple.

To address 2. and 3. we plan to evaluate different software designs. These will be part of our deliverables and we plan to discuss these with Parity and/or Web3 Foundation.
To address 2. and 3. we plan to evaluate different software designs. These will be part of our deliverables and we plan to discuss these with Parity and/or Web3 Foundation. The challenge here is the non-invasiveness of the solution. Specifically we plan to look into the following questions:
1. Is it possible to tweak MIRAI, so that we can run the analysis on pallets without modification?
2. Without tweaking MIRAI: What options do we have to separate the newly written pallet logic from the macro logic? Is it possible to do so, without changing the logic or adding artificial code (as the macros also connect the different functions of a pallet)?
3. Can we combine our findings of 1. and 2.?

To address 1. we want to further analyze timeouts and crashes in MIRAI. Possibly they can be resolved by bugfixes in MIRAI. If not, we need to find workarounds.

Apart from the documentation of our analysis, we will deliver a first prototype version of our tool.

#### Deliverables

| Number | Deliverable | Specification |
|--------|------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0a. | License | MIT |
| 0b. | User Documentation | We will provide a basic **tutorial** that explains how to reproduce our examples. |
| 0c. | Testing and Testing Guide | We will provide a testing guide on how to run SARP with the different software designs. These might be on different branches of the repository. |
| 1. | Prototype Code | Prototype code to showcase the different software designs. |
| 2. | Documentation | Technical documentation describing the different variants of software design and its implications to pallet developers. |
| 3. | Engagement | We will discuss the different solutions and their implications with Web3 Foundation and/or Parity. |
| 4. | Bug reports and PRs in MIRAI | Any issues or bugfixes in MIRAI will be reported as an issue, resp. provided as a PR in the [MIRAI repository](https://github.com/facebookexperimental/MIRAI). |
| Number | Deliverable | Specification |
|--------|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 0a. | License | MIT |
| 0b. | User Documentation | We will provide a basic **tutorial** that explains how the tool can be used on the examples provided. |
| 0c. | Testing and Testing Guide | We will *not* provide a test suite with this milestone, but documentation on how to run our examples as in 0b. |
| 1. | Tool | We will provide a prototype version of the tool. Following the approach, decided in 3. |
| 2. | Documentation | Technical documentation of the tool, incl. reasoning on the design decisions. |
| 3. | Engagement | We will discuss different solutions and their implications with Web3 Foundation and/or Parity. For this we will document each approach with <ul><li>at least one example, incl. documentation on how to run it.</li><li>prototype code</li><li>analysis on the approach's invasiveness</li></ul> |
| 4. | Analysis of errors in MIRAI | We will document each error we encounter in MIRAI (specifically crashes and faulty analyses) with information on: <ul><li>how to reproduce it</li><li>reasons for its occurance and implications thereof</li></ul>This analysis will include the problems we discovered in the previous work package, but haven't analyzed yet (see [1](https://github.com/scs/MIRAI/tree/Milestone1_Research/substrate-examples/pallet_template#open-issues) and [2](https://github.com/scs/MIRAI/tree/Milestone1_Research/substrate-examples/offchain-worker#open-issues)). <br/><br/>We will report each issue in the [MIRAI repository](https://github.com/facebookexperimental/MIRAI), resp. provide a PR there. |



Expand Down

0 comments on commit bf0f18c

Please sign in to comment.