<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 23, 2023 at 11:09 AM Sebastian Huber <<a href="mailto:sebastian.huber@embedded-brains.de">sebastian.huber@embedded-brains.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 23.03.23 17:03, Joel Sherrill wrote:<br>
> <br>
> On Thu, Mar 23, 2023 at 10:40 AM Sebastian Huber <br>
> <<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a> <br>
> <mailto:<a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a>>> wrote:<br>
> <br>
>     Close #4863.<br>
>     ---<br>
>       cpukit/include/rtems/score/objectimpl.h | 4 +---<br>
>       1 file changed, 1 insertion(+), 3 deletions(-)<br>
> <br>
>     diff --git a/cpukit/include/rtems/score/objectimpl.h<br>
>     b/cpukit/include/rtems/score/objectimpl.h<br>
>     index c58957ccb5..a1a87b5ccb 100644<br>
>     --- a/cpukit/include/rtems/score/objectimpl.h<br>
>     +++ b/cpukit/include/rtems/score/objectimpl.h<br>
>     @@ -542,9 +542,7 @@ static inline bool _Objects_Is_api_valid(<br>
>         uint32_t   the_api<br>
>       )<br>
>       {<br>
>     -  if ( !the_api || the_api > OBJECTS_APIS_LAST )<br>
>     -   return false;<br>
>     -  return true;<br>
>     +  return ( 1 <= the_api && the_api <= OBJECTS_APIS_LAST );<br>
>       }<br>
> <br>
> <br>
> I'd really prefer we avoid compound logical expressions since it<br>
> becomes something that needs MCDC analysis at higher levels<br>
> of verification/qualification.<br>
<br>
How does this simplify MC/DC analysis? The truth table doesn't change if <br>
I replace a short-circuit boolean expression with if + return.<br></blockquote><div><br></div><div>gcov cannot directly do mcdc analysis but using simple expressions</div><div>avoids the introduction of those cases. So gcov reports can be equivalent</div><div>of an expensive MCDC analysis tool.</div><div><br></div><div>I'm at the FSW this week and one of the NASA Johnson people shared</div><div>information on an open source tool and way to use gcov where you</div><div>are guaranteed to have gcov reports cover this. I'm going to experiment</div><div>with this when I get home. If it is as easy as it sounds, I'll write up something</div><div>on the technique and we can discuss if we want to apply this to RTEMS.</div><div>I think we do since it would allow us to use gcov to ensure we do </div><div>MCDC level analysis as required by the highest level of all the safety</div><div>standards I know.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> <br>
> Please rewrite using simple logical expressions even if it means<br>
> two exit paths at the source leve. It's the same machine code.<br>
<br>
Yes.<br></blockquote><div>Thanks.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-- <br>
embedded brains GmbH<br>
Herr Sebastian HUBER<br>
Dornierstr. 4<br>
82178 Puchheim<br>
Germany<br>
email: <a href="mailto:sebastian.huber@embedded-brains.de" target="_blank">sebastian.huber@embedded-brains.de</a><br>
phone: +49-89-18 94 741 - 16<br>
fax:   +49-89-18 94 741 - 08<br>
<br>
Registergericht: Amtsgericht München<br>
Registernummer: HRB 157899<br>
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler<br>
Unsere Datenschutzerklärung finden Sie hier:<br>
<a href="https://embedded-brains.de/datenschutzerklaerung/" rel="noreferrer" target="_blank">https://embedded-brains.de/datenschutzerklaerung/</a><br>
</blockquote></div></div>