|
68 | 68 |
|
69 | 69 | - [Program Analysis](./program-analysis/README.md) |
70 | 70 | - [Echidna](./program-analysis/echidna/README.md) |
71 | | - - [Introduction]() |
72 | | - - [Introduction to fuzzing](./program-analysis/echidna/fuzzing-introduction.md) |
73 | | - - [How to test a property](./program-analysis/echidna/how-to-test-a-property.md) |
74 | | - - [Basic]() |
75 | | - - [How to select the most suitable testing mode](./program-analysis/echidna/testing-modes.md) |
76 | | - - [How to select the best testing approach](./program-analysis/echidna/common-testing-approaches.md) |
77 | | - - [How to filter functions](./program-analysis/echidna/filtering-functions.md) |
78 | | - - [How to test assertions](./program-analysis/echidna/assertion-checking.md) |
79 | | - - [How to write good properties step by step](./program-analysis/echidna/property-creation.md) |
80 | | - - [Frequently Asked Questions](./program-analysis/echidna/frequently_asked_questions.md) |
81 | | - - [Advanced]() |
82 | | - - [How to collect a corpus](./program-analysis/echidna/collecting-a-corpus.md) |
83 | | - - [How to use optimization mode](./program-analysis/echidna/optimization_mode.md) |
84 | | - - [How to detect high gas consumption](./program-analysis/echidna/finding-transactions-with-high-gas-consumption.md) |
85 | | - - [How to perform smart contract fuzzing at a large scale](./program-analysis/echidna/smart-contract-fuzzing-at-scale.md) |
| 71 | + - [Introduction](./program-analysis/echidna/introduction/README.md) |
| 72 | + - [Introduction to fuzzing](./program-analysis/echidna/introduction/fuzzing-introduction.md) |
| 73 | + - [How to test a property](./program-analysis/echidna/introduction/how-to-test-a-property.md) |
| 74 | + - [Basic](./program-analysis/echidna/basic/README.md) |
| 75 | + - [How to select the most suitable testing mode](./program-analysis/echidna/basic/testing-modes.md) |
| 76 | + - [How to select the best testing approach](./program-analysis/echidna/basic/common-testing-approaches.md) |
| 77 | + - [How to filter functions](./program-analysis/echidna/basic/filtering-functions.md) |
| 78 | + - [How to test assertions](./program-analysis/echidna/basic/assertion-checking.md) |
| 79 | + - [How to write good properties step by step](./program-analysis/echidna/basic/property-creation.md) |
| 80 | + - [Advanced](./program-analysis/echidna/advanced/README.md) |
| 81 | + - [How to collect a corpus](./program-analysis/echidna/advanced/collecting-a-corpus.md) |
| 82 | + - [How to use optimization mode](./program-analysis/echidna/advanced/optimization_mode.md) |
| 83 | + - [How to detect high gas consumption](./program-analysis/echidna/advanced/finding-transactions-with-high-gas-consumption.md) |
| 84 | + - [How to perform smart contract fuzzing at a large scale](./program-analysis/echidna/advanced/smart-contract-fuzzing-at-scale.md) |
86 | 85 |
|
87 | | - - [How to test bytecode-only contracts](./program-analysis/echidna/testing-bytecode.md) |
88 | | - - [How to use hevm cheats to test permit](./program-analysis/echidna/hevm-cheats-to-test-permit.md) |
89 | | - - [How to seed Echidna with unit tests](./program-analysis/echidna/end-to-end-testing.md) |
90 | | - - [Understanding and using `multi-abi`](./program-analysis/echidna/using-multi-abi.md) |
91 | | - - [Fuzzing tips](./program-analysis/echidna/fuzzing_tips.md) |
92 | | - - [Exercises]() |
93 | | - - [Exercise 1](./program-analysis/echidna/Exercise-2.md) |
94 | | - - [Exercise 3](./program-analysis/echidna/Exercise-3.md) |
95 | | - - [Exercise 4](./program-analysis/echidna/Exercise-4.md) |
96 | | - - [Exercise 5](./program-analysis/echidna/Exercise-5.md) |
97 | | - - [Exercise 6](./program-analysis/echidna/Exercise-6.md) |
98 | | - - [Exercise 7](./program-analysis/echidna/Exercise-7.md) |
99 | | - - [Exercise 8](./program-analysis/echidna/Exercise-8.md) |
| 86 | + - [How to test bytecode-only contracts](./program-analysis/echidna/advanced/testing-bytecode.md) |
| 87 | + - [How to use hevm cheats to test permit](./program-analysis/echidna/advanced/hevm-cheats-to-test-permit.md) |
| 88 | + - [How to seed Echidna with unit tests](./program-analysis/echidna/advanced/end-to-end-testing.md) |
| 89 | + - [Understanding and using `multi-abi`](./program-analysis/echidna/advanced/using-multi-abi.md) |
| 90 | + - [Fuzzing tips](./program-analysis/echidna/fuzzing_tips.md) |
| 91 | + - [Frequently Asked Questions](./program-analysis/echidna/frequently_asked_questions.md) |
| 92 | + - [Exercises](./program-analysis/echidna/exercises/README.md) |
| 93 | + - [Exercise 1](./program-analysis/echidna/exercises/Exercise-1.md) |
| 94 | + - [Exercise 2](./program-analysis/echidna/exercises/Exercise-2.md) |
| 95 | + - [Exercise 3](./program-analysis/echidna/exercises/Exercise-3.md) |
| 96 | + - [Exercise 4](./program-analysis/echidna/exercises/Exercise-4.md) |
| 97 | + - [Exercise 5](./program-analysis/echidna/exercises/Exercise-5.md) |
| 98 | + - [Exercise 6](./program-analysis/echidna/exercises/Exercise-6.md) |
| 99 | + - [Exercise 7](./program-analysis/echidna/exercises/Exercise-7.md) |
| 100 | + - [Exercise 8](./program-analysis/echidna/exercises/Exercise-8.md) |
100 | 101 |
|
101 | 102 | - [Manticore](./program-analysis/manticore/README.md) |
102 | 103 | - [Introduction to symbolic execution](./program-analysis/manticore/symbolic-execution-introduction.md): |
|
109 | 110 | - [Exercise 2](./program-analysis/manticore/exercises/exercise2.md) |
110 | 111 |
|
111 | 112 | - [Slither](./program-analysis/slither/README.md) |
| 113 | + - [Static Analysis](./program-analysis/slither/static_analysis.md) |
| 114 | + - [API](./program-analysis/slither/api.md) |
112 | 115 | - [Exercise 1](./program-analysis/slither/exercise1.md) |
113 | 116 | - [Exercise 2](./program-analysis/slither/exercise2.md) |
114 | 117 |
|
|
0 commit comments