freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件可靠性安全性技術(shù)-資料下載頁(yè)

2025-02-26 22:46本頁(yè)面
  

【正文】 導(dǎo) 致 變 量 x的 賦值 失 敗 。 96“ 禁止在條件判別語(yǔ)句中使用賦值操作符”的 典型實(shí) 例 一 該 準(zhǔn) 則 在某 軟 件中以 “if(the_i=5)”的形式 違 背了,而 經(jīng)過(guò) 確認(rèn) 是由于 編 程人 員誤 將 “if(the_i==5)”的 “==”寫(xiě)成了 “=”所致,其結(jié) 果是 該 判 別 條件無(wú) 論變 量 the_i為 何 值 都將 執(zhí) 行 該 分支的 處 理。 97“ 禁止在條件判別語(yǔ)句中使用賦值操作符”的 典型實(shí) 例 二 在某軟件中有如下語(yǔ)句: if((uiSendLen == 0x55AA) (uiRecvLen == 0x66BB) (uiBaud = 0x77CC)) 其中將條件 (uiBaud==0x77CC)判別誤寫(xiě)為 (uiBaud=0x77CC)的賦值,后果是即使 uiBaud不為 0x77CC, 其他條件滿足仍能走入真分支。98“ 邏輯 判 別 表達(dá)式如果存在運(yùn)算 項(xiàng) ,必 須 要使用括號(hào) ”(二院補(bǔ)充 )的 典型實(shí) 例 該 準(zhǔn) 則 在某 軟 件中以 “if(tbc0x80==0x80)”的形式 違 背了, 導(dǎo) 致當(dāng) tbc=0x80時(shí) 條件判 別 走不成立的分支。正確的寫(xiě)法 應(yīng)該 是 “if((tbc0x80)==0x80)”。 exam799“ 禁止 對(duì) 指 針變 量 賦值類 型不匹配 ”(二院補(bǔ)充 )的 典型實(shí) 例 在某軟件中,變量定義如下:unsigned long *p。unsigned char q[50]。 程序中有如下的使用:p = q[1]。100“ 邏輯 表達(dá)式的 連 接必 須 使用括號(hào) ”的 典型實(shí) 例 在某軟件中if((S1[0].Coun7S1[0].Coun=1)||(S1[1].Coun7S1[1].Coun=1) (B3Leav == 7)) {……}從程序結(jié)構(gòu)上猜想,應(yīng)該是:在 (B3Leav == 7) 條件下, 或 (S1[0].Coun7S1[0].Coun=1) 或 (S1[0].Coun7S1[0].Coun=1)如果是此,就應(yīng)該if(((S1[0].Coun7S1[0].Coun=1)||(S1[1].Coun7S1[1].Coun=1)) (B3Leav == 7)) {……} 101“ 賦值類 型必 須 匹配 ”的 典型實(shí) 例 在某軟件中 ADData[]是定義為 signed char類型,程序中: ADData[i]=(signed char)*AD402。 /* 讀 12位帶符號(hào)的 AD采樣值 */ ADData[i]=ADData[i]0xfff。 在 標(biāo) 準(zhǔn) C中, signed char類 型 變 量是 8位的,有效范 圍 [128, 127], 對(duì) 8位變 量 賦 12位數(shù) 值 在 標(biāo) 準(zhǔn) C中是取后 8位。 ADData[]應(yīng) 定 義為 int類 型 。 102“ 數(shù) 組 的使用必 須 保 證 不會(huì)出 現(xiàn) 越界 ”的 典型實(shí) 例 在某軟件中是如下定義的: unsigned char Ykd[6]。 但程序中是如下使用的: for (n=0 。 n7 。 n++) { Ykd[n] = 0x0 。 按定義, Ykd只有 6個(gè)元素,即 Ykd[0]、 Ykd[1]、 …… 、 Ykd[5], 而是使用中卻用到了 Ykd[6]。 103“ 禁止對(duì)無(wú)符號(hào)數(shù)進(jìn)行大于等于零或小于零的比較 ”(二院補(bǔ)充)的 典型實(shí) 例 在某軟件中有如下語(yǔ)句: unsigned long s_addr; s_addr=(unsigned long)hostGetByName(pName); while (s_addr==ERROR) ERROR在 被定 義為 1,用 unsigned long類 型數(shù)與ERROE進(jìn) 行比 較總 是不成立的。 104“ 變 量使用前必 須 被 賦過(guò)值 ”的 典型實(shí) 例 在某軟件中, void Para_check() { int k。 while(k 4) { …… k++。 } 顯然對(duì)變量 k未賦初值就進(jìn)行 while(k 4)的使用。 k未賦初值并不意味著就等于 0,有可能是一隨機(jī)數(shù)。在某臺(tái)式機(jī)的 VC , k的初值為0xcccccccc, 此時(shí) while(k 4)上來(lái)就不滿足。 105“ 變量使用前必須被賦過(guò)值 ”(二院的細(xì)化: (1) 變量使用前必須被賦過(guò)值(禁止只是條件賦值 ))的 典型實(shí) 例 在某軟件中有如下語(yǔ)句: int test_start(void) { int flag, sum。 sum=…。 if(sum==400) { ...... flag=NO_RESPOND。 } return flag。 } 106專業(yè)代碼規(guī)則檢查輔助工具簡(jiǎn)介107v LDRA Testbed ( 準(zhǔn)則多)v PRQA QAC( 準(zhǔn)則多 )v Parasoft CodeWizard ( 自定義)v Logiscope RuleChecker( 準(zhǔn)則有限)v PcLint( DOS下,小巧便宜)v ……108LDRA Testbed 的分析結(jié)果109PRQA QAC 的分析結(jié)果110工程實(shí)踐中需要注意的問(wèn)題 v 正確理解工具警告與實(shí)際違背的關(guān)系 有些規(guī)則的違背工具可直接報(bào)告,而有些則是可能違背的警告,是否真的違背還需要分析。v 要根據(jù)軟件工程化的水平循序漸進(jìn) 雖然標(biāo)準(zhǔn)將規(guī)則分為強(qiáng)制與推薦,但畢竟規(guī)則之間還是存在輕重緩急之分,開(kāi)始起步時(shí),必須根據(jù)軟件工程化的實(shí)際水平循序漸進(jìn)的開(kāi)展工作。111正確理解工具警告與實(shí)際違背的關(guān)系 例如: unsigned int k。 int m, n。 …… k = m – n。 工具會(huì)警告 “ 禁止給無(wú)符號(hào)變量賦負(fù)值 ”,而是否真的違背,要分析 m 是否一定大于等于 n,如果是則不違背,如果不是則違背。112要根據(jù)軟件工程化的水平循序漸進(jìn) 例如 1: if(A || B C) 和 if(A || B || C) 都是違背了 “ 邏輯表達(dá)式的連接必須使用括號(hào) ”,顯然處理 “if(A || B C)”的重要性,比處理 “if(A || B || C)”的重要性要高。因?yàn)?“if(A || B C)”有可能是“if((A || B) C)”的手誤,也可能是 “if(A || (B C))”的手誤。由于優(yōu)先級(jí)定義 “if(A || B C)”等價(jià)于 “if(A || (B C))”。 而 “if(A || B || C)”則無(wú)所謂。113要根據(jù)軟件工程化的水平循序漸進(jìn) 例如 2: float x。 int k。 …… x = k。 和 k = x。 都是違背了 “ 禁止 給變 量 賦 的 值 與 變 量的類 型不一致 ”,顯然處理 “k=x”的重要性,比處理 “x=k”的重要性要高。因?yàn)?“k=x”有可能造成精度損失,比如:x大于 0,且要求了四舍五入,則應(yīng)該是 “k = (int)(x+)”, 而 “x = k”則無(wú)所謂。114基于 Testbed和 QAC的工程實(shí)踐 v先選擇相對(duì)關(guān)鍵的規(guī)則子集,逐步深化,逐步擴(kuò)充。v將應(yīng)用過(guò)程分為問(wèn)題提出階段和問(wèn)題確認(rèn)階段,個(gè)階段把各階段的質(zhì)量關(guān)。vTestbed和 QAC同時(shí)使用,各取所長(zhǎng),相互補(bǔ)充。115第一步選擇所有規(guī)則,使用 Testbed和 QAC工具分析生成結(jié)果報(bào)告文件116第二步選擇目前關(guān)心的關(guān)鍵規(guī)則,基于結(jié)果報(bào)告文件經(jīng)過(guò)分析,確定需要提出的違背之處117選擇目前關(guān)心的關(guān)鍵規(guī)則依據(jù)工具的能力特點(diǎn),選擇的規(guī)則集未必一樣118將報(bào)告總數(shù)經(jīng)過(guò)分析拆分為需要提出的和無(wú)需提出的生成確認(rèn)配置,進(jìn)入下一步工作119第三步針對(duì)經(jīng)過(guò)分析提出的問(wèn)題,結(jié)合代碼審查確定哪些是真正的違背而需要修改代碼120將提出問(wèn)題總數(shù)經(jīng)過(guò)分析拆分為需要修改和無(wú)需修改保存配置文件,提交質(zhì)量人員核查121v 工具各有所長(zhǎng),難免存在誤報(bào),可綜合使用取長(zhǎng)補(bǔ)短v 工具有些是警告性提示,是否真正違背還需具體分析v 工具組要精通 Testbed和 QAC工具的使用,保證使用的正確性和信息的完整性,但未必精通規(guī)則v 問(wèn)題提出組要精通規(guī)則,要有判斷哪些屬于誤報(bào)的能力,但未必精通 Testbed和 QAC工具的使用v 問(wèn)題核實(shí)組要了解代碼功能,特別是針對(duì)警告性提示條款,要有基于代碼功能的較強(qiáng)分析判斷能力基于 Testbed和 QAC的工程實(shí)踐的體會(huì)122敬請(qǐng)批評(píng)指正謝 謝 !123演講完畢,謝謝觀看!
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1