Upstream WebAssembly specific features from Kasmer
Aperta
@virgil-serbanuta ci sta già lavorando.
Dal 12/6/2024.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
We should pull any features taht are WebAssembly specific into this repository. In particular:
- A new class
KWasmwhich contains anyKLabeland helpers for constructing KWasm terms (similar to KEVM class: https://github.com/runtimeverification/evm-semantics/blob/71a19f1a085efd1cf2987954101f500b7c02a6ce/kevm-pyk/src/kevm_pyk/kevm.py#L394). - A new class called
KWasmSemanticswhich implements semantics specific heuristics (can useDefaultSemanticsas the initial implementations) (KEVM example: https://github.com/runtimeverification/evm-semantics/blob/71a19f1a085efd1cf2987954101f500b7c02a6ce/kevm-pyk/src/kevm_pyk/kevm.py#L53). Should contain:is_terminalpredicate for identifying states that should not be executed past (eg. for checking "should we check subsumption for this state or not).abstract_nodeoperator for abstracting away parts of the KWasm state.
- Any core body of lemmas that are useful for WebAssembly in general:
- The lemmas can be migrated upstream to WebAssembly.
- The tests can be minimized and migrated upstream to WebAssembly (simplification tests, I assume).
Then retool Kasmer to use these classes and delete the code downstream.
- Lingua principale
- WebAssembly
- Stelle
- 107
- Fork
- 26
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di runtimeverification/wasm-semantics
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
-
Improve tokenisation supportAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100