diff --git a/ivette/src/frama-c/plugins/eva/Coverage.tsx b/ivette/src/frama-c/plugins/eva/Coverage.tsx index 6de2baa518b8ba5f19a5b9b29c767bf4c84a5b6a..0c65625999285482cf5fa4b8c9134345218cac1b 100644 --- a/ivette/src/frama-c/plugins/eva/Coverage.tsx +++ b/ivette/src/frama-c/plugins/eva/Coverage.tsx @@ -50,6 +50,19 @@ const ordering: Arrays.ByColumns<stats> = { sureAlarms: Compare.byFields( { alarmStatuses: Compare.byFields({ invalid: Compare.number }) }, ), + deadStatements: Compare.byFields({ + coverage: Compare.byFields( + { dead: Compare.number }, + ), + }), + reachableStatements: Compare.byFields({ + coverage: Compare.byFields( + { reachable: Compare.number }, + ), + }), + totalStatements: Compare.byFields( + { coverage: map((x) => x.reachable + x.dead, Compare.number) }, + ), coverage: Compare.byFields( { coverage: map( @@ -111,6 +124,39 @@ export function CoverageTable(): JSX.Element { width={80} getter={({ alarmStatuses }: stats) => alarmStatuses.invalid} /> + <Column + id="deadStatements" + label="Dead statements" + title="Dead statements" + align="center" + visible={false} + width={80} + getter={({ coverage }: stats) => ( + coverage.dead + )} + /> + <Column + id="reachableStatements" + label="Reachable statements" + title="Reachable statements" + align="center" + visible={false} + width={80} + getter={({ coverage }: stats) => ( + coverage.reachable + )} + /> + <Column + id="totalStatements" + label="Total statements" + title="Total statements" + align="center" + visible={false} + width={80} + getter={({ coverage }: stats) => ( + coverage.dead + coverage.reachable + )} + /> <Column id="coverage" label="Coverage"