On 15/07/2022 15:47, Jørgen Kvalsvik wrote: > On 15/07/2022 15:31, Sebastian Huber wrote: >> On 15.07.22 13:47, Jørgen Kvalsvik via Gcc-patches wrote: >>> 2. New vocabulary for the output - decisions for, well, the decisions. It >>> also >>> writes at most one line per condition: >>> >>> decisions covered 1/4 >>> condition 0 not covered (true false) >>> condition 1 not covered (true) >> >> Do we really have multiple decisions? I think we have only one decision >> composed >> of conditions and zero or more boolean operators. We have variants of >> condition >> outcomes. >> > > Maybe, I'm not sure - you could argue that since a fixture of boolean > "dominates" the outcome (either by short circuiting subsequent terms or > masking > preceding terms) then that fixture is a decision which leads to one of two > outcomes. The other parameters may change but they wouldn't change the > decision. You have 2^N inputs but only N+1 decisions. Personally the > "variants" > phrasing doesn't feel right to me. > > That being said I'm open to making this whatever the maintainers feel is > appropriate.
Coming back to this, this is the terms + definitions gracefully borrowed from wiki [1]: Condition A condition is a leaf-level Boolean expression (it cannot be broken down into simpler Boolean expressions). Decision A Boolean expression composed of conditions and zero or more Boolean operators. A decision without a Boolean operator is a condition. Condition coverage Every condition in a decision in the program has taken all possible outcomes at least once. Decision coverage Every point of entry and exit in the program has been invoked at least once, and every decision in the program has taken all possible outcomes at least once. I agree that decisions n/m, based on these definitions, is not the best output unless it is specifically overloaded to mean "the family of bit vectors that cover some conditions". Not great. Based on this established terminology I can think of a few good candidates: condition outcomes covered n/m outcomes covered n/m What do you think? [1] https://en.wikipedia.org/wiki/Modified_condition/decision_coverage