Skip to content

Semantic templates — v0.2.0

Each scored core template is a balanced pair: one positive case (the flow exists) and one minimally different negative case (it does not). Reading a row: a sound-and-precise analyzer shows reached / not-reached.

Semantic template Language Scorecard Tier Positive outcome Negative outcome
alias-propagation-separation java bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
alias-propagation-separation java codeql-java-kernel-taint-taint-benchmark-controlled core not-reached not-reached
alias-propagation-separation javascript bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
alias-propagation-separation javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core not-reached not-reached
alias-propagation-separation python bifrost-python-kernel-taint-taint-benchmark-controlled core inconclusive inconclusive
alias-propagation-separation python bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
alias-propagation-separation python codeql-python-kernel-taint-taint-benchmark-controlled core not-reached not-reached
argument-position-separation java bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
argument-position-separation java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
argument-position-separation javascript bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
argument-position-separation javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
argument-position-separation python bifrost-python-kernel-taint-taint-benchmark-controlled core reached not-reached
argument-position-separation python bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
argument-position-separation python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
arithmetic-expression-propagation java bifrost-smoke-taint-taint-benchmark-controlled core not-reached not-reached
arithmetic-expression-propagation java codeql-java-kernel-taint-taint-benchmark-controlled core not-reached not-reached
arithmetic-expression-propagation javascript bifrost-smoke-taint-taint-benchmark-controlled core not-reached not-reached
arithmetic-expression-propagation javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core not-reached not-reached
arithmetic-expression-propagation python bifrost-python-kernel-taint-taint-benchmark-controlled core not-reached not-reached
arithmetic-expression-propagation python bifrost-smoke-taint-taint-benchmark-controlled core not-reached not-reached
arithmetic-expression-propagation python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
array-element-separation java bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
array-element-separation java codeql-java-kernel-taint-taint-benchmark-controlled core reached reached
array-element-separation javascript bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
array-element-separation javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
array-element-separation python bifrost-python-kernel-taint-taint-benchmark-controlled core inconclusive inconclusive
array-element-separation python bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
array-element-separation python codeql-python-kernel-taint-taint-benchmark-controlled core not-reached not-reached
branch-join java bifrost-smoke-taint-taint-benchmark-controlled core reached reached
branch-join java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
branch-join javascript bifrost-smoke-taint-taint-benchmark-controlled core reached reached
branch-join javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
branch-join python bifrost-python-kernel-taint-taint-benchmark-controlled core reached reached
branch-join python bifrost-smoke-taint-taint-benchmark-controlled core reached reached
branch-join python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
call-context-separation java bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
call-context-separation java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
call-context-separation javascript bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
call-context-separation javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
call-context-separation python bifrost-python-kernel-taint-taint-benchmark-controlled core reached not-reached
call-context-separation python bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
call-context-separation python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
direct-propagation c bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation cpp bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation csharp bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation go bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation java bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
direct-propagation javascript bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
direct-propagation kotlin bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation php bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation python bifrost-python-kernel-taint-taint-benchmark-controlled core reached not-reached
direct-propagation python bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
direct-propagation ruby bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
direct-propagation rust bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation scala bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
direct-propagation typescript bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
exception-catch java bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
exception-catch java codeql-java-kernel-taint-taint-benchmark-controlled core not-reached not-reached
exception-catch javascript bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
exception-catch javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
exception-catch python bifrost-python-kernel-taint-taint-benchmark-controlled core inconclusive inconclusive
exception-catch python bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
exception-catch python codeql-python-kernel-taint-taint-benchmark-controlled core not-reached not-reached
infeasible-branch java bifrost-smoke-taint-taint-benchmark-controlled core reached reached
infeasible-branch java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
infeasible-branch javascript bifrost-smoke-taint-taint-benchmark-controlled core reached reached
infeasible-branch javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
infeasible-branch python bifrost-python-kernel-taint-taint-benchmark-controlled core reached reached
infeasible-branch python bifrost-smoke-taint-taint-benchmark-controlled core reached reached
infeasible-branch python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
local-multi-step-chain java bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
local-multi-step-chain java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
local-multi-step-chain javascript bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
local-multi-step-chain javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
local-multi-step-chain python bifrost-python-kernel-taint-taint-benchmark-controlled core reached not-reached
local-multi-step-chain python bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
local-multi-step-chain python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
local-overwrite-kill java bifrost-smoke-taint-taint-benchmark-controlled core reached reached
local-overwrite-kill java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
local-overwrite-kill javascript bifrost-smoke-taint-taint-benchmark-controlled core reached reached
local-overwrite-kill javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
local-overwrite-kill python bifrost-python-kernel-taint-taint-benchmark-controlled core reached reached
local-overwrite-kill python bifrost-smoke-taint-taint-benchmark-controlled core reached reached
local-overwrite-kill python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
loop-carried-kill java bifrost-smoke-taint-taint-benchmark-controlled core reached reached
loop-carried-kill java codeql-java-kernel-taint-taint-benchmark-controlled core reached reached
loop-carried-kill javascript bifrost-smoke-taint-taint-benchmark-controlled core reached reached
loop-carried-kill javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached reached
loop-carried-kill python bifrost-python-kernel-taint-taint-benchmark-controlled core inconclusive inconclusive
loop-carried-kill python bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
loop-carried-kill python codeql-python-kernel-taint-taint-benchmark-controlled core reached reached
modeled-external-summary java bifrost-smoke-taint-taint-benchmark-controlled calibration unsupported
object-separation java bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
object-separation java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
object-separation javascript bifrost-smoke-taint-taint-benchmark-controlled core not-reached not-reached
object-separation javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
object-separation python bifrost-python-kernel-taint-taint-benchmark-controlled core inconclusive inconclusive
object-separation python bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
object-separation python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
one-hop-relay java bifrost-smoke-taint-taint-benchmark-controlled calibration reached
return-relay-one-hop java bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
return-relay-one-hop java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
return-relay-one-hop javascript bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
return-relay-one-hop javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
return-relay-one-hop python bifrost-python-kernel-taint-taint-benchmark-controlled core reached not-reached
return-relay-one-hop python bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
return-relay-one-hop python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
return-relay-two-hop java bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
return-relay-two-hop java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
return-relay-two-hop javascript bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
return-relay-two-hop javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
return-relay-two-hop python bifrost-python-kernel-taint-taint-benchmark-controlled core reached not-reached
return-relay-two-hop python bifrost-smoke-taint-taint-benchmark-controlled core reached not-reached
return-relay-two-hop python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached
same-object-field-separation java bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
same-object-field-separation java codeql-java-kernel-taint-taint-benchmark-controlled core reached not-reached
same-object-field-separation javascript bifrost-smoke-taint-taint-benchmark-controlled core not-reached not-reached
same-object-field-separation javascript codeql-javascript-kernel-taint-taint-benchmark-controlled core reached not-reached
same-object-field-separation python bifrost-python-kernel-taint-taint-benchmark-controlled core inconclusive inconclusive
same-object-field-separation python bifrost-smoke-taint-taint-benchmark-controlled core inconclusive inconclusive
same-object-field-separation python codeql-python-kernel-taint-taint-benchmark-controlled core reached not-reached