Rule coverage and configuration well-formedness
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Ambito
- compilers
Direzione di ricerca
Esamina le due regole checkBalanceUnderflow mostrate nell’issue e la semantica EVM circostante. Determina innanzitutto se un account mancante è consentito in una configurazione ben formata, quindi verifica se set di regole simili sono incompleti. Il lavoro è completo quando la conclusione è documentata e viene valutato se la creazione delle definizioni può rilevare automaticamente questi casi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The rules for checkBalanceUnderflow:
rule <k> #checkBalanceUnderflow ACCT VALUE => #refund GCALL ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ... </k>
<output> _ => .Bytes </output>
<callGas> GCALL </callGas>
<account>
<acctID> ACCT </acctID>
<balance> BAL </balance>
...
</account>
requires VALUE >Int BAL
rule <k> #checkBalanceUnderflow ACCT VALUE => . ... </k>
<account>
<acctID> ACCT </acctID>
<balance> BAL </balance>
...
</account>
requires VALUE <=Int BAL
only consider configurations in which the account with identifier ACCT is present.
Is this:
- an omission, in the sense that there should be a third rule when the account is not present; or
- a consequence of having a well-formed EVM configuration, in the sense that an account with identifier
ACCTmust always be present when there is an#checkBalanceUnderflowcheck?
Perhaps it would be a good idea if we went through the semantics to see if there are other sets of rules that are incomplete in this sense. Is there a way of understanding this automatically, perhaps on definition creation? @ehildenb @jberthold
- Lingua principale
- KCL
- Stelle
- 592
- Fork
- 156
- Merge medio
- 2h 19m
- PR unite (30g)
- 1
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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/evm-semantics
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
runtimeverification/evm-semantics#1190 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
runtimeverification/evm-semantics#2879 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
runtimeverification/evm-semantics#2869 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
runtimeverification/evm-semantics#2832 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
runtimeverification/evm-semantics#2824 ·
Tutte le issue di runtimeverification/evm-semantics
Issue simili
-
backend:DirectX
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
llvm/llvm-project#227530 ·
I maintainer di solito rispondono entro 1 giorno
-
`enzymexla.linalg.lu` lowering fails for a tall matrix: the permutation is built with the pivot typeAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
EnzymeAD/Enzyme-JAX#3286 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
objectionary/phino#1600 ·
I maintainer di solito rispondono entro 1 giorno
-
compiler enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
tenstorrent/tt-lang#1141 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno