ࡱ> Fuճ2I3fFIJFIF``ExifII*C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222O&" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?袊>(((((UfF UBkz>Ϫ^ÏpP8:/+#f,:g#?uOƻ`KV*G+(Rh橂Sx{@EƟzld' _ȭ9)HݑԂPk<FI&Jzs?ֱ1Y\zZO]+S ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 'ZA?\??N*gS¨>((??'(((((((((((((((((((((((((((]W蔮BQu_cR /! *MŠ( ? Ѥ?+ Ѥ?+j]O9Gq|_[Ǵ_$QWM_QEQ@z7n2:o8=dupɎwQEt$|EWEPEPEPEPEPEPEPEP|(S:3wr+~#^_6|<Jƛ&#O3?3;O_IE7t|eARx (<(((((((((((((((9"uE^^sDO' :?<*(S낊((j' MSWAQ.' MSWAQ yŠ(8Š(((((((((((((((((((((((((((EJ+%U?%+Ynϱ ((G~WG~3w/W{KUEzdOQXQEW|#9F/#FGWyEWIGȔQEqpQEQEZ"I[8]Ѽ=A` } _t Zi;3j]xKo5 !1$OO 7b+^X<}:h{· d}y#{ RP<}0A }[^mHÐj?i0BuF}j'kfENgEEPEPS$yRv}i_%Y >lmKg6>QE]hWGAvlHr{?=%Q#֬k.K> Jݺy^VI0kYسNI'$JgO(6{%Umi9?'볏/C}w\EyMjy֛{L.e}::F^+TyRQE((fw۠C>$#;z*>p'S㟥LE -Z_zm$$q%\֡ºq+&pe⠏־{5SZ˩_Or9*E? YR/%uD"OI+.O Z۞w⼎i#9f}u[ Unѭ LWGt#2+HaYE? ݐ}%xX~Oc麢U+#]USUN0r??N+ѫ~4ȝiarVY!xUQ\Q@Q@O@|^^]O@|^]4SK-OPAm79'?MR= LfwϏ┎?>.Ur0wөw?Zo"ZKMWtV^՞E#ZKMQ CiΊ=Gџ<A1{V;?hx;-7SO¶W~lbXZ7!~COYUuoA.\wԞ?3ںύZ[iŒrcS畮rUF1w?Zo"sgWE#ZKMQ CiΊ=Gџ<A1{V;A|=vo7ݓ'n{kJGr[P&ʶwH'9g1{x՝;?hx;-7G-c%+:(?(wFw?Zo"ZKMWtQXdP> EuJBۑ2Py=}9Ϸ'G9?fXrS?nNa׹P^]Oyu'o$|@8O7?eëF?NշesϥzvG Ci?hx;-7_9XV{;?hx;-7G-c%+:(?(wFw?Zo"ZKMWusJmOW\"GbyM? 㹷xtRt8# 5%"**(T`RΰYrI^s⏋zvk"#.q =9%+K Oi%XW^y>"ex_j[XFvGM^ǯK'R_q<;+oU?Yo@qoY.?μ~i#9^n=U7^ދn1?PC -^f`<(rml]r"z+QӾ+Zq=1s|E5RFs53K;MB=7;T.EΟw5b3}GXNx[׷q+HOseu)j~OXƲF*rZXQE()\u?Dr-8_C~AETQ@~H1_TWH1_TVԺsЎ=p*"i?ʾHCLiP+ ( o8=du5q{#?Ch>H(3(( ???W!BumK?>aEVNJ|[H< 4LF5;/ =2ծobzWDR0˦ڒ",0dc?$ߗRZ-N.(cB((گȂ!\9 0_Jכ|#L{n/A=s<IjκZeWCKh3bUn.Pݹω.ohcg!]BS~'xMIGF[SED+3;bY$IEQ@Q@Q@Q@Q@t^D#Ӯ Ӻz{>6u`!΃=_U_~n6wjj6Rl;0؎*'qc0qGmk6mڟΙ+n}kse++>!֕%QFzF=kJYRY\$h:_6xsx],Pz˵Dʎ'rWx^D*On{zSް袹>#dQE"(((Ok>hks,G#z'ZA?\??N+ >[S¨>((??'g"χnFP}['+wn]olx6i}YToeK +3 ( |0q#1DJZOџ=T݌1B= >¾ЀnˎGO?>sOgt??w?Wúi~vS/nsj(O ( (>euiA?~כ{bhn謫GיniZU^/^k@rZљE浄&}]\4B(;B((|ͭ̑p1]#ykDʣe!͆o^;s:AX0++Ⱦ7Zda|kj #͉<(c(Ozۼyje-cy}0.{ƫ06o G&:&OQ\Cim%ċ1)wv8 $[ߋvOx7LPA)r5QA|̏EXi*qOރ(oV}e*0H-(hQ@=+!GD+((Hʒ]2GC]'+LS$ L^)vx/b('RU"m2~i z(hZ (QRCDRᇉur%{߽M&3Z5yezo>ObR+w4eJ|3DGq2K2}U:ɮֵ>qy2t +ƺҼ]*3l+VxWSo5[u<_>3ϖ9o*>ׂW|`MߌŠo7OW?#˩*xuQEAQEQVt SP3%zLMȭ滝 Is5,}KGK[obN|WxC"ED|}~uVj+N>B[L⠸%|~݄ͬе{=~'"?#MSᏊtgzxoҫx 4oqGR7WPOi 6d>˱g(8TjG֟O%z5yƏ? .J,C(O ( (=5O_xc3\]a ֹO?%x/+, s7@+nk@㤞VqŘX{QEb{EPEPυ=qmzM*wM&?:=ȯ쬭,c DKῄD1Q5:s]tSϘq^ڧ,~QEhy˞+ΗRX_`dEcס|bpvOZ8jҌeQEIQEnd9@t!^_?"??o$_WO>c4.!ĻxS!2DP:hkڍ{$9"V *0H(FEjAPqic-Ǣ5L$](PW{8X3ռԌ?k}ƚqR+xWMڛ"%xQ+幦y'#vnI&F` vT?6_ʼBGirs@+3 ( ~ψY z`WW]?]((С[iݒ$?BWu߅?q!Z3yr рb?,WQ\?Efyxwj_5Q\مQ@Q@}ie?ڬ-8Ju^"^+݃X((+~4ȝiarWWh: 䩟ά=O +ࢊ((on1`o}H"t!Mv7"x9a_snG=Ny}~ࢊ)EP^_:ծ͍$A UeI+xIz)zҪ6.7{ {=EWQ!EP|jN[b8q i^b->zok稽r9{0+3 (7u?,d?WѺ~^g-}B_,\5)d^q9#-FTo葧f`t|EVGQEz)o]U6Zbx&xtb=׼|7n]_榼ƶ_5K8a5i%hVՏᡃEVgheIPу)"E}mkpV'ܖ5usw?l6rDr>?J r-ʟf q%I޵T*T(h(| iI#*' x}? x+ڧ5~^O2?L?qz+k)Lp hzQPuQ@zu{kX`E@L+h[ӭohcvG.C(s7~gc7>/ഞq htrIs+N)G (FEP3x>xvE*D'!6Mf~I"nCba9PW_CJ.lJW!XKv}._QE&EPh? Wh? W.p#i?ʾH?_(&/(Š(7yz7n2:|HZ(O>D+((PbUQIT{+υNmz~eZt)Ag; OLZE [,^Ekx0į0xzn-F|9I>85_SxCu\ۑ}_. VHأAs6莊(;Š(<#Ki|'QQGE2g8f}tC+ :\(<ߏ/Z cݷKn 8ڟ < BH|䦺>RtqI>(cB(( ? !{ Hb>n}A}gqsFsO#"sI\ߏ'zyWbm|s8kcymMi/f<ՠQ\؅Q@Q@}eAm2D@?`uOi!w dYkjKse#|X>mi9G wlM盝p0?Z'=|4^H(FEP^JZU' $=C?:| 1JHy7 ª..6BQ[KQMD56WGzNB((G֟O%z5yƏ? .J,C(O ( (=5O_]GSz?j m|Q,Q&n̘5" b=>I>{+ ( (>wob+ݿ5̾ ,7&wr=}=xxRX~*jSg3*NoS"Ƽgqh[~̲0B1Xא`6$'H%QƱD"Qy7,Ť_(B낿ɫk>g/|]ڿ?EW9EPxSU[^6l gF?W5izټGIC~Kuw *N(~ i·7k뺽e7I+FouEZ(UOiZRT~Jj Ai"ۂ?{~`W՜DyƍiZik!R?B} + SNմ>wCq{\蚽Νvfʓهf`5EgskSt(EQ@Q@osv4u5{4q//}vg|Ck 4B VÏG+zPJe$#in'-YEٟ]Q_*ǯ0H{Q+r:Un:L͟{_#_Kj+tec}F0?p?5 ;E) Q%QIWVh? T0Ӌg??N+ѫ~4ȝiarVY`!xUQ\Q@Q@O@|^@ 2Pk Tkk|a3tk76-ez~#j⷇?|2oL`r0}kk #QMaETEP^_kə{bOޏGڼVzΏ[o{w،sb'=O(X״[]NtWFQqm=¼snJԕ~<;Boʽo6m,ZL zgi?Du*rb"_yQ\Q@Q@Q@tl&22o8ls5,ݑ Ff~ϋ% :>.Y}Mmn#;?z5GtI]3py(O ( ( ( XS[\$G'5'%a>?4e^)G`t+ßujHȆ9޿0~5%}w_;|Jx{Kx&hH'"Q]&>+ ( 5KD(EcI0';383UEbpOGtWzĿh+tvo ߭uP.>{7ЯH?S+E^eƽi{mJzUۙW~=̾C ܋mF?_XWKP!ds}+~{%RƵaBU%+o([{yFǘ凟t>O|2Լ>]ifH@up[QJ*ǚ(FEPEPEPE- om M!Gf>P ؊{wIb p?J? E^"TyW= }zWVЇVxX4R~(+s[`RpN~HQIՙ58n④ VV m}㏆%/bkc?ro=7U 5Y-p{\O)#4QEIQEQEQE4CZ~H1L>9"uE^^sDO'g0?<*(S낊((j' MSWAQ.' MSWAQ yeX`8"e^'~\¾>_ Js펦#.U#us\r EW9EPEP%W^-Ԙo&?zJY)*pA| 4 "ٿ>9t< gstn-1J~ٞ4[M"A ڊ V *ܳ V"+XIJ*KQE ( ( v^^c,"g>}:~@6,qZS^ۻuaqKEt2|Zufz #RGD>=գ wc\r5c)OeQH((+~ iUԘ}H`o_ ??v%rZGt-iM^GۻvQEt2ZDNXLn:7#&hʄ$򞱣:}&9?pj}9,/pQ? -rV;1ֹxW\I[QPwQ@Q@Q@Q@zۿԯ!^1wڕt#2uGE|()\u?Dr-8_C~AETQ@~H1_TWH1_TVԺsЎ=p*"i?ʾHCLiP+ ( o8=du5q{#?Ch>HoOU9?E[SO{sisc=6[yQ2*Ws" [[QVps8dռCK)z"YH`M]XMJK"#rx%G?Gx)?j'WԔQlOQ"#rx%{$T|^VZլ4j.!h!=H+0w9YlQEYr!o|g6wmϝmiz]}OsJugMAٞ|׬ٛOPto7qmү! }t5=<޴tO>D|aV*x?Lrt 7A*}:sgWk:wTxSАZj~ʙ(L.#Fw=FI;&>relg`vq/h~-5K1s'Gds,Q_PG!/btqI3U&: 0jc+jx I"?J~&Y~?kR#-F[SOOU9?¾dbʏ5_(SO( ؟>ifͣUg,6QZEYXu:Sd%C#dzȕGMgL-ltE|,6P@3+/OU9?¾HI'ϖ5_(SO("'oOU9?E[SO#-[s~E?Ōuw~NHʤ\%fQEjy'VƧu69kxZL:9㍵)?j'WԔVnnG4:j"#rx%5؟E[SO{/=q*UF/,JIX(^OoyiwQjL2u+SO(4Ri:T9ocEK4{cslLUJAd Gt=-ѿ^gls|E}@|s2k:wRLb+84}mP1W!t|yeX6@t(LO9H-..m7hXgo_w= _M; Zec,f+ Ӿ k$۫K47~ֽ7 l7B e3s]EQG|uj˖ONEUg|F}JG. +l[;b$ A)?j'WԔVnnO5 V>[SOOU9?¾FT|G"#r}IE6h,L֒8' N*S%լG8&@IS>"#r}IE)C&6Xk^x)?j'WԔT$vlOQ"#rx%{$T|]MV|Wu5{kXKo$uUSTw2N7QEQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@W1_h Мx_h}[:&j0 ;5}{Zf9͍ O=$I9'435vv=g$^YEqn?#.|s{|j* ֥I߾zsֳmKƤ^"VAnZϢ7 -S[?bkV⇊m/"((l2ߠMmF_QiAs" Jp2yJZ~g\ 0=( (((((((((Ɓ{N"yٵe8 'yw.Ϟ~~%?Jp|'G.Ϟ~ϨgO.\> =3IןQ@ ߩ?x:EV R6ܞyk>ȵ}_@ZZ xQ c \qn1WgɿSb3p|'G.Ϟ~Ϩ3p|'G.Ϟ~ϨA?ԟ]|A>zg>>ѯ$t=>eU9 VORѿLEMV=6L8ݵI{t07O^E|I?\ ?$4i',=O<O ?MIk(S7OZ& M1NXyrp=++w#趠b ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( l$1q'n0@XG#Hmz(((((((((((((((((((((((((((((((((((*CzrcǠ ~45U=څ/iIAR0(((iZ6݋]:Kzzx^|*ɭ_69׀>G?_Fx6 Z=Y?k^>b;x1)诩e]ZA 里Y7 5<(8WcG?/k~hk 7="SŸu_ Im,dH؆RTLEQET7WVVquXڵ[ɁWķ3,?`*kB1V,Pn$Ak O_ZO& 23H򯖨}[E|k_؜^)Y?/,R7ܸ@~E'lU5}4[Mzzm69~yiQEQE|J/}+IljWϴŠ(EP^wE?׋״|j^K>4&i^^K>4&iCQE!Q@Q@K_E-`kZՓoEkU(ܶy<{YeM#r#?oߟ{?MOףi~;ExO-o~oߟ ExO-o~o?g6:}ۘ&f,\,zQLAEy_ĿkztFPrg{\o,O]M+5,O]MN&"VvG| Jls=[hc#^Q|LN,-DsҀ=Ic7;mi [U 8 '|=Rn'iV}Icu[˞\՚Jk:Q_wPA!)|Ej?|] ׭H`\0e } zgݜ=)""Q@Q@<3G (2HT}IYX @ExNWėdw_ccr1\׉uidoRϥ8t*c&@RBzGس1f=I9};ZSjH]:ZO>k(V++ zK_*4xx-Scogb8}-Ex%ZdvhWe?N.uc 2G͉F6QE(((((((((((((((((+>0;+"6pI'^^.xCe- _l x&#ERQEQEWE xTT"\L=d8bBGRI4|9dt?CA0,5?ՏsW袘((((xmResuG4 +jWJy׻yngyi%;bzi1j~ 7A'A2)QEQEQEQETWW qk<̇+$lU**(KxǷFES|J/}+IljWϴŠ(EP^wE?׋״|j^K>4&i^^K>4&iCQE!Q@Q@K_E-`kZՓoEkUGZxھhQ"^3趯)1QH(>_j+w#趠'FOO%yzm??dԆQE (.i?!^ XVԮ`"^C QLTvǠ kk֥>AO^0(<3<4ŝ=I5R((^/t]qTR<),Nee9  }p u|0Rl$2r|aʡs-񍏅,yג n?ȭ]gUDvV=~5vkzfE{&{ĚB຃x?k&) ((((+~w^/#>A=#mxESQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEW̞!Tﻕy勶-{;1${I(EPEP_M]G֬-UQLT\fG^M(`QEQEQEVV]N!GoE$ԵXMV^1vƀ<_gFrs+|OAWE# ( ( )E$$Q!ytfP 4ȁgϴWzbݡU#a+|]ƿ-fxH@Րϸ@TQE ( E'c (Q@{G ^/^wE?@z-y/ܛzy/ܛ GQEQEQE}/oEkVORѿT#')k??jGZxھhQE ( -Wڀ>*xm??d?mђWRQE(('[mmav\<{~hu^u/\N<9M#1ER((~\~$-r=՗+Ty?{4&y=IӴ5yY=XUdc8lԻ<(@QEduJgMR%㳍Ar@$~ V.tOillNN}lsۭ},k$n2 cM1|8u{d6?9 ݂E}E_7WfGI¢)QEQEk БR׵W^Hr4T62_FB (Q@Q@Q@x;&agc'AW׃|S㛅=#5&袊C ( (:y1ecvU,?P+jτleGsldcνB?MQEHŠ(( !Ӯ@683fꨘHǩPM4/+IljWϵį'ѩ_>(@QEZ-x{G MGroUGro1YERQEQERѿY>KF?ZֵPȥ׌-_)k??jQE(+w#趮b>_j(mђWWaSFI^}HaER(kAlZp-}:J/&}Zhߊ6?ne` [KLkSWOԦ#(aEPEPoGdy?{xOŸ32ڕ4q$-lUM BV ER(:l@<*(lv?3ͯ-a}O?O9=&uALuv kB%<lO hp>sdkCP(aEPEP_@/ƲɛP#z?t=nZ8e?u׺?tr|/-3H! -\Gq]1Q@Q@Q@x'#Wd"=A^^%zye^}Hf&4yQH((#8-h{^^ aH'WSB -<-]y)Ŕ]0Ƙ-ET((+AF ?|J HxkJhSWOԯk/_O?eR}QE(+>ȵ}_@Zz-_k~3Ə+֫~3Ə(b<(0(( ȥ׌-kZ|/"^0赭j>(KY[W?RE&0)QEWOG+m\t}ҿ5QT#0i^)$>A#mxŠ(EP^DK^^DKM)+IljWW\į'ѩLGϴQEHŠ((O^Jj?;'{+ݩa^C<Ƌ %Ag(ӧQLGTWދ{3@?^y:yfH -ǺVQV./,$-gFPF(((.4Ȯ%h#Pj ( ?hߨ 0u{+뉦jhD'?F?X(((((((((((((((((m巙*u=H%?4I|=]i҆+f'#sYU$|CDΡh ES{w0)QEQE VXdhCt8*}A55V+,xPk=*GJOeJ۾A^E;3|SC丸ddws76e~(wŽv2kd~-Ujz) N H&>_j@} ^eO2ivL va鵓mkӸ,'WGS④J`:mHŠ(( KxMv s#+ȚVRV+km:?]B%.:ns3hWǩ$#FɃб]&_@f3^Gʂ2`8^37:qv1` QE ( (:ZiԼmb ;rnh[k:o:!uSt\9>&|J/}+IljWϴ1QH(Wh;"~i=?|hMҽj?|hM҆#(C ( (>Z7xֵ')hZ֪E|_KE-ggm_4Rc (Q@t}ҿWOG+m@CQEB-ЬRa'﷠>ڳKd (#E`TQLG)+IljWϵį'ѩ_>c (Q@{G ^/^wE?@z-y/ܛzy/ܛ GQEQEQE}/oEkVORѿT#')k??jGZxھhQE ( -Wڀ>*xm??d?mђWRQE(+ܾȚkkܾȚi;>%?J$S_5)(QEQE)?O^^Gdy?{4 ~ ȉ5־x ȉ5־xR20db:pE%׷Nk'YP:)__^+U 5p=cBUff]PV5kۋ:gjQEQEQEv>T%[do7O4_{z>h/h2sYo(FI'+455TDUT`:(( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( - 2>Y}=El@+jÜ(*{W 42*2: _UU-GGuxB @JQRϗmԾW[{&=7nZo>1i:@џ~X8(m=`k}P˖kc8ާImqZv öu|5MzF<~ڴ;z LH,WOG+m^c{Hia Xֺ+:"aCel16H) ( ׍A5'O<,^o:,HuuQyכ\Og;AsLz95EP]7YlP0 ̿C~3+?Ugӯn,؜p%A:/y_G@~Xo<+ ?`?ɫkY2zr !O48XK/ kzh">x+k_8?4qmyxoƳ2qXY&R+Nֽ{Gn{->?8i~wϨ'ݢd|7em> Jܼԟҵ(SWOԯko>qg #ҼO?U&3(S17G)8 +LMAcQ bo'*4&i^\.m~`ſv{JlG^ bo'*Sq?Tye&117@YEz)8 ?LMAcPx_E-`kZSJ:nebd p7mP3*1>(KY[Wdu-I四y!ܤgט˜ye&117@YEz)8 ?LMAcPWOG+m]g)8 4Zjm$ݕ#@ESmђWW>*a(;u$sšjC<ʊSWMG) ߦ27Q j̫ܾȚk5A{o7Ò_Cm>k&R s)+IljWWX)ѤX^}vkJb>j7Q j *+M_^5/m~<ʊSWMG) ߦ ?;'{+ݫ|:3j΢6M~T g3DMW}U,QE,k$l0 q\<1da51cR@;^{sLjwPj 6 b6?e,_!GE+il$:\&?R bxTmHX4̢ѹGa5d04^l[  x=[5;t=pY~<,oYob^ͦ|"-v󎫟)9ǫӴ?ICD`< wKie>[kAoE cj" TSQEb( "/ 00DTimes New RomanT0Wo 0DArialNew RomanT0Wo 0 DMonotype SortsT0Wo 00DHelveticaortsT0Wo 0 " a .@  @@``  @n?" dd@  @@`` hY4   "(34+-') $#%!. , &*1  /02,R$ճ2I3fFI"us AA1? #-(f@]@ g4@d@d06jppp@ <4BdBd 0L@Qʚ;-7ʚ;<4ddddЁ 0<4!d!dЁ 0r0___PPT10 2___PPT9/ 0? -O =WlNon-Covered Code A SW DER s Perspective July 28, 2005$7h#'( TopicsDefinitions Non-Covered code (aka  unreached code) What to do about non-covered code? Summary ?F+ DefinitionsDefinition: Non-covered code is source code that was not structurally covered during requirement-based testing. The non-covered source code can be categorized under three definitions: deactivated, dead and live  Yes, I said  live  bear with me. For Dead and Deactivated code definitions, we need to stick to the DO-178B definitions.<BXBXH, Definitions&Deactivated code - Executable object code (or data) which  by design is either (a) not intended to be executed (code) or used (data), for example, a part of a previously developed software component, or (b) is only executed (code) or used (data) in certain configurations of the target computer environment, for example, code that is enabled by a hardware pin selection or software programmed options. @9zP1 DefinitionsBDead code - Executable object code (or data) which, as a  result of a design error cannot be executed (code) or used (data) in a operational configuration of the target computer environment and  is not traceable to a system or software requirement. An exception is embedded identifiers. " $Definition:  Live 8 An  implicit definition for non-covered code that does not fit under the definition of deactivated or dead code. Live Code  code that may be executed in the current configuration, at any point in time, depending on the control flow of the program. This is the area we seem to be trying to become  inventive with naming/categorizing - trying to name non-covered code as defensive, default, fail monitor, etc. XsZ Z$Zs ~J-&What to do about the Non-covered code?When Non-Covered code is found, one must ask: 1st  Why is it there? (are there requirements for it) and 2nd  Is it correct? (with respect to requirements) Can t just add a test to cover it (unless part of a requirement that was not tested)./C4 W/ 9 1WR2An AsideAs an aside, we need to keep in mind that SCA is not the goal of verification testing  correct verification of requirements is the goal! SCA is a measurement of how well the code relates to the requirements. SCA identifies code not tested during the high/low level testing. SCA resolution looks to identify code that implements unintended functionality.F*+40What to do about non-covered Deactivated code? 11uTwo types per DO-178B, 6.4.4.3 Structural Coverage Analysis Resolution d. Deactivated code: For deactivated code which is not intended to be executed in any configuration used within an aircraft or engine, a combination of analysis and testing should show that the means by which such code could be inadvertently executed are prevented, isolated, or eliminated. (Type I)V_1030What to do about non-covered Deactivated code? 11Rd. Deactivated code: (cont) For deactivated code which is only executed in certain configurations of the target computer environment, the operational configuration needed for normal execution of this code should be established and additional test cases and test procedures developed to satisfy the required coverage objectives. (Type II)D6 ' 0What to do about non-covered Deactivated code? 11rType I   For deactivated code which is not intended to be executed in any configuration used within an aircraft or engine &  Term  any configuration used within an aircraft or engine interpreted to mean operational software. This type does not have to be verified; only the deactivation method must be verified.L~(0&OY:#=What to do about non-covered Deactivated code? Type I (cont)>>The DO-178B does not restrict the type of code that can be deactivated and this needs to remain the case. Examples might be: bench test code, maintenance code, in-air test data collection, multi-project code, etc. &&0What to do about non-covered Deactivated code? 11Type II   For deactivated code which is only executed in certain configurations &  Must be verified as it can become active (operational) without changing any executable code. Activation could happen via modified SW configuration data/HW straps/etc., or activation of functionality by the user via a code entered, etc.8T)'B(0What to do about non-covered Deactivated code? 11For either Type I or II, deactivation needs to be planned - discussed in the PSAC and in plans. Both types must have the deactivation method defined in the high or low level requirements and those requirements verified. ;$0What to do about non-covered Deactivated code? 11There is one area that we noted above that adds a nuance to this  which for discussion purposes we ll call  procedural deactivation. There are 2 cases for this:  direct control and a Reusable SW Component (RSC): Direct control means that the use (activation or deactivation) of functions (e.g., library, etc.) are under the application development team s control. RSC means that the use (activation/deactivation) of a RSC s functions are not under the developer s control.*ZZ2Y4.What to do about non-covered Deactivated code?//<%0What to do about non-covered Deactivated code? 11With direct control, the deactivated functions that are left in the software, do not have to be verified, because they are deactivated, since there are to no calls to them. A software change must take place in order for the deactivated function to become active and the team will then verify the now active function. Caution here in this direct control approach of not verifying, could lead to the possibility of  forgetting to verify the function later. One might want to ask to see how they plan to prevent  forgetting .=&.What to do about non-covered Deactivated code?//With a RSC the development team does not have control of activation/deactivation of the RSC functions. Thus, an RSC is different in that functionality can be activated without changing the RSC component. The application code developer changes their application code and now there is a call to the RSC function that was deactivated. Thus, the deactivated component must be verified unless it is left out of the link making a change to the RSC necessary to activate and access it.ZD).What to do about non-covered Deactivated code?//In both the direct control and RSC there are no requirements for the deactivation. The decision on the handling of the function is an outcome of the development process where the function is not called  thus procedural and not a requirement per se.(What to do about non-covered Dead code? DO-178B, 6.4.4.3 Structural Coverage Analysis Resolution c. Dead code: The code should be removed and an analysis performed to assess the effect and the need for re-verification. I agree with this, but issues have been encountered with rapid removal of code late in programs.8 0oa>'(What to do about non-covered Dead code? )'But problems have been encountered with not removing dead code and the code is executed  it was not dead! But problems have been encountered with removing code and the code was needed  it was not dead! So, now what?<#P:M.'What to do about non-covered Dead code?PThe analysis performed in making the dead code determination in each case was flawed. The development team and Certification review should focus on:  How thorough was the analysis that made the determination?  Was the analysis reviewed by peers?  Is it understandable and do we agree with it? 86 (What to do about non-covered Dead code? )'yIf the analysis is planned, complete and assured correct, then the software should be safe and the removal is a 2nd order effort. The dead code then can be identified in a problem report and a schedule for removal negotiated with the certification authorities. As a DER, you need review to see that the team has addressed dead code as part of their formal verification process.$zq')What to do about non-covered Live code? Live  this would seem to be straightforward for non-covered code. DO-178B Structural Coverage Analysis states: 6.4.4.3 Structural Coverage Analysis Resolution Structural coverage analysis may reveal code structure that was not exercised during testing. Resolution would require additional software verification process activity. This unexecuted code structure may be the result of:Rq 1q 'N/'What to do about non-covered Live code?@a. Shortcomings in requirements-based test cases or procedures: The test cases should be  supplemented or test procedures changed to provide the missing coverage. The method(s) used to perform the requirements-based coverage analysis may need to be reviewed. b. Inadequacies in software requirements: The software requirements should be modified and additional test cases developed and test procedures executed.6;%r1)What to do about non-covered Live code? Let s add an implicit additional analysis resolution statement: 6.4.4.3 Structural Coverage Analysis Resolution  e. If the code does not belong in the system (i.e., there is no requirement for this code to be in system  unintended functionality), it must be removed. (Note, this is not dead code, because the code is live and but not executed by a requirements-based test.)lq  @ 'n5)What to do about non-covered Live code? There is the question of test vs. analysis of non-covered  live code. Both are acceptable verification methods. Analysis is used to assure complex issues such as partitioning and other safety-related requirements, so should be acceptable for non-covered code assurance.I  IE*)What to do about non-covered Live code? DERs need to review the analyses of the non-covered code to see if they are thorough, complete and assure the analysis addresses that the code is implementing a requirement i.e., DERs need to assure the team has stated:  The code is there due to requirement X.  If executed, the code would work correctly per the requirement. @ l lT3)What to do about non-covered Live code? *'Note that for some constructs such as a default at the end of a case statement, I allow the requirement to come from the Design or Coding standard. If the team does use the standard, I asked further that they define what the behavior should be. Examples: If the requirement is to pick out some specific labels from an incoming 429 stream of data, then the default case simply can drop the others. If the requirement is to switch on modes and there are 4, then what if a 5th is encountered. Can just discard as above.@ZZ-O0'What to do about non-covered Live code?Bottom line - if the code is active, then there must be a related requirement and the code verified. If there is no requirement for the code to be there, it should be removed (like dead code). In this case, I feel similar rules need to apply as in the case of dead code, so code is not removed late in the program right before delivery. Again need to emphasize analysis to assure the code is really  unintended functionality and then a planned, reviewed and negotiated removal can occur. J$Z*$ Zy(SummaryDefinitions should follow DO-178B. Categorization may help in aligning all parties. Any categorization should use the three main definitions. Guidance is needed from the certification authorities more for analysis assurance concerns than for definitions. 0Summary Discussion/  8@ACGI K L Q S UVWXZP  ` ̙33` 3` 3333f` 999MMM` f` f3` 3` a(>?" dZ@?n<#-d#@  F `<@P`0#- n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>> UM8(   8 8  f8gֳgֳ ԔԔ?"zP  T CLICK TO EDIT MASTER TITLE STYLE! ! 8  `|gֳgֳ ?"``  X* 8  `lgֳgֳ ?"`   Z*I 8 Tֳֳֳֳ ?"PP`  SClick to Edit Master Text Styles Second Level Third Level Fourth Level Fifth Level !     TB 8 TD#-p?"` 8 C *APicture3"@k" 8  ` gֳgֳ ?"`   l Page *B 8 s *޽h? ? #- a~ RC_Blank8 0 @H(    T7K7K ?P%   x* G$$GGii  TP7K7K ? %  z* G$$GGii  Z,7K7K ?i  z* G$$GGii:  TkƵkƵ ? A(  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     Sp  01 ?"G  H  0޽h? ? a(80___PPT10.` ( P ( D     Tv7K7K ?P%   z* G$$GGii  TD7K7K ? %  |* G$$GGii  Z7K7K ?P   z* G$$GGii  Z(7K7K ?   |* G$$GGiiH  0޽h? ? a(80___PPT10.&|   (  l  C 8    H  0޽h ? a(  `( \  l  C 8/8zP   l  C $8PP`  H  0޽h ? a($  $(  r  S D8zP   r  S |E8PP`@  H  0޽h ? #- a~80___PPT10.l<0e$  $(  r  S Q8zP   r  S Q8 P`  H  0޽h ? #- a~80___PPT10.p<Vc$   $(   r   S _8zP   r   S d28PP`  H   0޽h ? #- a~80___PPT10.zJ[q4   H4(  Hr H S c8zP    H S PU8PP0p   H H 0޽h ? #- a~80___PPT10.LH$   $(  r  S |8P   r  S }8P`  H  0޽h ? #- a~80___PPT10.<$  ,$(  ,r , S ,8zP   r , S 8PP`p  H , 0޽h ? #- a~80___PPT10.zJa@$   P$(  Pr P S 8P   r P S L8P`  H P 0޽h ? #- a~80___PPT10.MH 30$   0$(  r  S 8P   r  S 8P`  H  0޽h ? #- a~80___PPT10.`,$  PT$(  Tr T S (g8P   r T S l8P`   H T 0޽h ? #- a~80___PPT10.MHQ8$  p$(  r  S @8P   r  S 8PP`  H  0޽h ? #- a~80___PPT10.b  p0(  px p c $X8P   x p c $8PP`p  H p 0޽h ? ̙33$  $(  r  S x8P   r  S 8PP`  H  0޽h ? #- a~80___PPT10.M$  $(  r  S H8P   r  S 8P`  H  0޽h ? #- a~80___PPT10.0@   Z R X (  Xx X c $t8P    X T1?9V Y <  X N1?"`0`   X N1?"`   X  `1? BDirect Control  X  `*1? 7RSC  X Tl1?"`   =Library(2  X T41?"`@ r/  =Library(2  X T1?"`pPm  n.User s Application $  X T1?"`p m  n.User s Application $ X  `$1?  ) <  X T1?4 T >(2 * X T\1?"`I 66  fApplication developer is the same as library developer. Application developer can modify the library.gg X T 1?"``  WApplication developer is NOT the same as library developer. Cannot modify the Library.XXH X 0޽h ? #- a~80___PPT10.%|` N$  $(  r  S 8P   r  S X8P`p  H  0޽h ? #- a~80___PPT10.@$  $(  r  S 0!8    r  S !8P`  H  0޽h ? #- a~80___PPT10.u>$  $(  r  S X-8P   r  S L28PP`p  H  0޽h ? #- a~80___PPT10.OPz9$   L$(  Lr L S T78P   r L S (98P`   H L 0޽h ? #- a~80___PPT10.LH-$  @$(  r  S dM8pP   r  S  N8PP`  H  0޽h ? #- a~80___PPT10.@ES$  `$(  r  S p_8@P   r  S `8PP`  H  0޽h ? #- a~80___PPT10.I$  p$(  r  S e8@P   r  S e8PP`  H  0޽h ? #- a~80___PPT10.ã0  t0(  tx t c $m8P   x t c $g8P`P  H t 0޽h ? ̙33$  $(  r  S y8P   r  S p8PP`  H  0޽h ? #- a~80___PPT10.I0v$   $(  r  S ܃8P   r  S 8PP`p  H  0޽h ? #- a~80___PPT10.щpp$  $(  r  S 8P   r  S 8PP`@  H  0޽h ? #- a~80___PPT10.4 {$  $(  r  S ȕ8@P   r  S 8PP`  H  0޽h ? #- a~80___PPT10.R˧}$  4$(  4r 4 S (80P   r 4 S 8P  H 4 0޽h ? #- a~80___PPT10.|Jд$  $(  r  S  8P   r  S 8 P`  H  0޽h ? #- a~80___PPT10.IPX}  0x*(   xx x c $|8zP   r x S 88 `@  H x 0޽h ? ̙33$  @$(  r  S L8zP   r  S 8PP`  H  0޽h ? #- a~80___PPT10.ĉf 0 &0(    # l ȣq q  ?3 `~   :    H1 ?(z   H  0޽h ? a(p 0 0(p( F I    # l05q q  ?3 0~   D- This presentation is a view,  nut not the only view of what I call non-covered code  also has been called  unreached code.*o    H1 ?)Hl   H  0޽h ? a(p 0 (  ^  S "G     c $w A(   vbRCI interpretation of  supplemented includes analysis to ensure code which is based on a requirement (including design and coding standards) is included in the analysis. This covers all instances of defensive code or fault management code where is difficult or destructive to produce the test condition.H  0޽h ? a(80___PPT10.ԣi 0 0/(  X  C "G     S H A(   1Testing may be very specific.H  0޽h ? a(80___PPT10.G' 0 }uP (  X  C "G   u  S U A(   Example in the paper. This was a check for in-range, but the analysis was confused by the data type leading to the wrong conclusion. Might have been caught during the code review for removing it, because this was planned for a later update to the software. If it was a last minute removal, it may not have been noted. Issue was that the team was going to take this out. Once the issue was noted the team formed a plan and did a better analysis finding 2 other code that was labeled as dead, but was not.H  0޽h ? a(80___PPT10.L 5  0 `E(  X  C "G     S  A(   G3Will operate some time during preflight/flight/etc.H  0޽h ? a(80___PPT10.N0C+ 0 LD(  X  C "G   D  S K A(   - A note the goal of verification is to & - Need to perform structural coverage analysis resolution. H  0޽h ? a(80___PPT10.m<Yrv 0 (  X  C "G     S @ A(   t- Please not that if we remove this  extra Live code & & ..H  0޽h ? a(80___PPT10.p<d 0   t(   X   C "G      S ` A(   v>- Type I will be used herein for this type of Deactivated Code?=H   0޽h ? a(80___PPT10.I٪e 0 @u(  X  C "G     S  A(   w?- Type II will be used herein for this type of Deactivated Code@>H  0޽h ? a(80___PPT10.I 옪 0 $(  $X $ C "G    $ S (r A(   - If one is trying to categorize these type of difficult to cover items, then these terms might be ok for 2nd tier categorization, but not for the 1st level. Needs to be more encompassing. F$k')H $ 0޽h ? a(80___PPT10.zJf - 0 ((  (X ( C "G    ( S Ć A(    H ( 0޽h ? a(80___PPT10.zJ * 0 0(  0X 0 C "G    0 S  A(    H 0 0޽h ? a(80___PPT10.|Jc80 0  8(  8X 8 C "G    8 S  A(   T- Ops! There s that  removed word again. "*$+H 8 0޽h ? a(80___PPT10.J@l % 0 <(  <X < C "G    < S  A(    H < 0޽h ? a(80___PPT10.6L@M $ 0 @(  @X @ C "G    @ S  A(    A RSC is H @ 0޽h ? a(80___PPT10."|` 4 0 `(  `X ` C "G    ` S h A(    H ` 0޽h ? a(80___PPT10.'|7&r0tnt Tz{ ,b@T^@&00 235 ^8:Plڦ@2}E(4H\ ZtOh+'0pR0 DP t   2RCI Dead Code Policy Discussion 22 August, 2002 t Standards Manualicy Rockwell Maockock RC_Blank Ma air140kf Ma128Microsoft PowerPoint 4.0uss@P s@]fH@0IsKH@p/C<]GPg  R('& &&#TNPPD2OMi & TNPP &&TNPP     'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___wwwmImmmmmnmmmDDJggmmmmlnmmgJmmmImgޒss켒oޓ?o?t?oEoo???o?EE??oEEoE?EEEFEhE?EE?iEoEEnE?tE?n?oEhEE?tinooEhoFhEEo?E?E??EoEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE--&TNPP &՜.+,0    On-screen ShowCollinsql  %Times New RomanArialMonotype Sorts Helvetica RC_Blank7Non-Covered Code A SW DERs Perspective July 28, 2005Topics Definitions Definitions DefinitionsDefinition: Live'What to do about the Non-covered code? An Aside1What to do about non-covered Deactivated code? 1What to do about non-covered Deactivated code? 1What to do about non-covered Deactivated code? >What to do about non-covered Deactivated code? Type I (cont)1What to do about non-covered Deactivated code? 1What to do about non-covered Deactivated code? 1What to do about non-covered Deactivated code? /What to do about non-covered Deactivated code?1What to do about non-covered Deactivated code? /What to do about non-covered Deactivated code?/What to do about non-covered Deactivated code?)What to do about non-covered Dead code? )What to do about non-covered Dead code? (What to do about non-covered Dead code?)What to do about non-covered Dead code? *What to do about non-covered Live code? (What to do about non-covered Live code?*What to do about non-covered Live code? *What to do about non-covered Live code? *What to do about non-covered Live code? *What to do about non-covered Live code? (What to do about non-covered Live code?SummarySummary  Fonts UsedDesign Template Slide Titles  _+air140kfair140kf  !"#$%&'()*+,-./0123456789:<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)Pictures"uCurrent UserSummaryInformation(RPowerPoint Document(;ODocumentSummaryInformation8