环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產(chǎn)品分類

當(dāng)前位置: 首頁(yè) > 新聞熱點(diǎn)

靜態(tài)分析工具日益強(qiáng)大,可在產(chǎn)品開(kāi)發(fā)早期發(fā)現(xiàn)缺陷

發(fā)布日期:2022-07-14 點(diǎn)擊率:54

工具已經(jīng)從簡(jiǎn)單的語(yǔ)法檢查器發(fā)展成強(qiáng)大的工具,可以用來(lái)發(fā)現(xiàn)在大規(guī)模代碼庫(kù)的復(fù)雜交互中所產(chǎn)生的缺陷。直到最近,它們?nèi)员毁|(zhì)量保證人員用來(lái)在接近項(xiàng)目完成的綜合創(chuàng)建期間評(píng)估代碼。


最新發(fā)布的產(chǎn)品正在將這些工具的作用向開(kāi)發(fā)流程的早期階段推進(jìn),以便幫助開(kāi)發(fā)者在軟件錯(cuò)誤蔓延前的更早期將其檢測(cè)出來(lái)。Klocwork公司的Insight和GrammaTech公司的CodeSonar Enterprise都能滿足開(kāi)發(fā)人員的需要,即使在許多代碼段還缺失的情況下也能發(fā)揮作用。


軟件開(kāi)發(fā)人員通常采用兩種工具來(lái)自動(dòng)檢測(cè)他們代碼中的錯(cuò)誤。一種是動(dòng)態(tài)分析工具,可以在代碼執(zhí)行過(guò)程中查看代碼;另一種是靜態(tài)分析工具,通過(guò)算法檢查代碼的錯(cuò)誤。這兩種工具各有優(yōu)缺點(diǎn)。


動(dòng)態(tài)分析擅長(zhǎng)于發(fā)現(xiàn)運(yùn)行時(shí)錯(cuò)誤,如資源泄漏和動(dòng)態(tài)存儲(chǔ)訛誤。開(kāi)發(fā)人員可信賴動(dòng)態(tài)分析工具所報(bào)告的任何錯(cuò)誤都是真實(shí)的,因?yàn)檫@些錯(cuò)誤是在實(shí)際代碼執(zhí)行期間被發(fā)現(xiàn)的。


但為了高效地使用動(dòng)態(tài)分析,代碼必須被全面執(zhí)行,因此需要使用測(cè)試案例。這樣,動(dòng)態(tài)分析工具在尋找錯(cuò)誤方面的效率就取決于測(cè)試案例的質(zhì)量。另外,由于動(dòng)態(tài)分析工具是與運(yùn)行軟件一起工作的,因此只能在開(kāi)發(fā)過(guò)程的晚期階段起作用,此時(shí)代碼已經(jīng)完全編好并首次被整合。


靜態(tài)分析工具使用算法技術(shù)檢查源代碼中的錯(cuò)誤,并標(biāo)明問(wèn)題區(qū)域,以便編程人員做更詳細(xì)的檢查。這種算法方式無(wú)需使用測(cè)試案例,算法本身決定了分析工具發(fā)現(xiàn)錯(cuò)誤的效率。不過(guò),這種方法存在識(shí)別失誤的可能性:有可能標(biāo)記為錯(cuò)誤的代碼事實(shí)上是可以正確執(zhí)行的。如果它們產(chǎn)生太多的錯(cuò)誤時(shí)別,用工具供應(yīng)商術(shù)語(yǔ)而言就是低“準(zhǔn)確性”,靜態(tài)工具就會(huì)影響用戶開(kāi)展后續(xù)工作,并有可能掩蓋真正的錯(cuò)誤。


這兩種工具呈互補(bǔ)的關(guān)系,各自都擅長(zhǎng)于發(fā)現(xiàn)對(duì)方很難發(fā)現(xiàn)的錯(cuò)誤,但動(dòng)態(tài)分析工具似乎在開(kāi)發(fā)人員中更加普及。部分原因是早期的靜態(tài)分析工具更像是開(kāi)發(fā)人員用來(lái)尋找相對(duì)簡(jiǎn)單的編碼和格式錯(cuò)誤的語(yǔ)法檢查器。


然而在過(guò)去十幾年中,隨著研究人員開(kāi)發(fā)出更加高效的算法,靜態(tài)分析工具變得越來(lái)越強(qiáng)大。它們已經(jīng)能夠識(shí)別出大量的微小錯(cuò)誤(見(jiàn)表1),其中有許多錯(cuò)誤只在搶先多任務(wù)環(huán)境中的任務(wù)交織期間表現(xiàn)為執(zhí)行問(wèn)題。


表1:可被靜態(tài)源代碼分析工具發(fā)現(xiàn)的典型錯(cuò)誤。
表1:可被靜態(tài)源代碼分析工具發(fā)現(xiàn)的典型錯(cuò)誤。


上述新的靜態(tài)分析工具額外的好處之一是:它們擁有增強(qiáng)的能力,可以發(fā)現(xiàn)代碼中有可能被惡意用戶用來(lái)突破安全防護(hù)的缺陷。開(kāi)發(fā)人員很容易低估軟件安全缺陷,因?yàn)樗麄冎皇侵竿a能正常執(zhí)行。靜態(tài)分析工具的算法沒(méi)有預(yù)期性,只是一種規(guī)程,因此會(huì)不帶偏見(jiàn)地識(shí)別潛在的問(wèn)題。


向開(kāi)發(fā)早期推進(jìn)


直到最近,靜態(tài)源代碼分析工具還只是用于開(kāi)發(fā)過(guò)程的晚期,即開(kāi)發(fā)人員能夠完整訪問(wèn)所有代碼段的綜合構(gòu)建階段。然而許多新推出的工具,包括Klocwork公司的Insight和GrammaTech公司的CodeSonar Enterprise,都已經(jīng)通過(guò)性能的增強(qiáng)使得開(kāi)發(fā)者在代碼編寫(xiě)的過(guò)程中使用這種靜態(tài)分析工具。


這種新一代靜態(tài)源代碼分析工具利用企業(yè)級(jí)軟件開(kāi)發(fā)環(huán)境,整合了從事同一項(xiàng)目不同部分的開(kāi)發(fā)團(tuán)隊(duì)的成果(見(jiàn)圖1)。通過(guò)實(shí)現(xiàn)代碼段分析掃描方面信息的對(duì)等交換,這種工具可以收集到精確檢測(cè)錯(cuò)誤所需的范圍更廣的語(yǔ)境。


圖1:新的靜態(tài)源代碼分析工具可以通過(guò)收集中心數(shù)據(jù)庫(kù)中個(gè)別代碼段的數(shù)據(jù)、建立系統(tǒng)性觀點(diǎn)來(lái)最大化效率。
圖1:新的靜態(tài)源代碼分析工具可以通過(guò)收集中心數(shù)據(jù)庫(kù)中個(gè)別代碼段的數(shù)據(jù)、建立系統(tǒng)性觀點(diǎn)來(lái)最大化效率。


這種更廣范圍的語(yǔ)境,再加上為遺失的代碼自動(dòng)建模,就可以幫助開(kāi)發(fā)人員快速建立有效可靠的代碼檢查基礎(chǔ),即使當(dāng)時(shí)項(xiàng)目還沒(méi)有全部完成。在這個(gè)階段捕捉到的錯(cuò)誤比開(kāi)發(fā)過(guò)程晚期的錯(cuò)誤更容易修正,代價(jià)也較低。另外,較早捕捉錯(cuò)誤可以防止這些錯(cuò)誤在系統(tǒng)中擴(kuò)散進(jìn)而影響后期開(kāi)發(fā)的代碼行為。


然而,在早期使用這種靜態(tài)分析有個(gè)前提,即充分理解局部查看代碼所引起的局限性。“重要的是記住在軟件開(kāi)發(fā)的早期階段,工具是不夠精確的,并可能忽略了程序間的影響?!盙rammaTech公司工程副總裁Paul Anderson提醒道。


但Anderson補(bǔ)充道,隨著被分析代碼規(guī)模的增長(zhǎng),結(jié)果將有所改善。經(jīng)常較早地使用靜態(tài)分析工具,還有助于培養(yǎng)開(kāi)發(fā)人員發(fā)現(xiàn)他們個(gè)人編碼風(fēng)格的缺點(diǎn),并改變他們的編程方式以便防止重復(fù)發(fā)生相同類型的錯(cuò)誤。


由于這種新一代工具被整個(gè)項(xiàng)目開(kāi)發(fā)團(tuán)隊(duì)所使用,他們可以記錄分析結(jié)果的變化規(guī)律,從而幫助識(shí)別新的問(wèn)題。例如Klocwork公司的Insight可以保存每次分析過(guò)程產(chǎn)生的數(shù)據(jù),從而讓開(kāi)發(fā)人員在整個(gè)開(kāi)發(fā)過(guò)程中跟蹤標(biāo)示出的錯(cuò)誤,該公司首席技術(shù)官Gwyn Fisher表示。


該工具還允許授權(quán)的高級(jí)開(kāi)發(fā)人員將錯(cuò)誤標(biāo)示為偽錯(cuò)誤或不相關(guān)錯(cuò)誤,Fisher補(bǔ)充道,這樣,在隨后的分析操作中就不會(huì)再報(bào)告它們。這將有助于開(kāi)發(fā)人員集中精力處理真正的錯(cuò)誤,并使任何新引入的錯(cuò)誤更加明顯,或者在交互代碼部分被一起分析時(shí)發(fā)生的錯(cuò)誤更加突出。


何時(shí)采用靜態(tài)工具?


在開(kāi)發(fā)過(guò)程中要多么早和多么頻繁地使用靜態(tài)代碼分析工具?這取決于具體的項(xiàng)目情況?!安煌瑘F(tuán)隊(duì)可以接受不同等級(jí)的偽錯(cuò)誤?!盙rammaTech公司的Anderson表示,“安全性非常關(guān)鍵的項(xiàng)目可能容忍10:1的假:真錯(cuò)誤報(bào)告率,而其它項(xiàng)目50:50的比率就有問(wèn)題,因?yàn)楦檪五e(cuò)誤非常浪費(fèi)時(shí)間。”


Klocwork公司的Fisher指出,“有些用戶可能從第一天就開(kāi)始使用分析工具,此時(shí)工具的作用表現(xiàn)的相對(duì)較弱,他們能夠容忍過(guò)多的偽錯(cuò)誤。其它用戶則寧愿等待架構(gòu)全部開(kāi)發(fā)好再使用工具,即使那時(shí)缺陷密度會(huì)比較高?!?/p>


最后,項(xiàng)目組必須自己決定如何平衡在開(kāi)發(fā)過(guò)程早期發(fā)現(xiàn)偽錯(cuò)誤的成本和在開(kāi)發(fā)過(guò)程晚期發(fā)現(xiàn)和修正錯(cuò)誤的成本之間的關(guān)系。但無(wú)論如何要選用靜態(tài)分析工具,因?yàn)檫@些工具已被事實(shí)證明在發(fā)現(xiàn)代碼缺陷和安全弱點(diǎn)方面具有極高的價(jià)值。既然這些工具已經(jīng)交付到開(kāi)發(fā)人員手中,缺陷可以被盡早發(fā)現(xiàn),那么靜態(tài)源代碼分析工具也將有助于降低開(kāi)發(fā)成本。


作者:Richard A. Quinnell 特約技術(shù)編輯








下一篇: 業(yè)內(nèi)重要廠商建立Home

上一篇: 工程師們的設(shè)計(jì)新幫手

主站蜘蛛池模板: 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 哲力实业_专注汽车涂料汽车漆研发生产_汽车漆|修补油漆品牌厂家 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 | 耐酸泵,耐酸泵厂家-淄博华舜耐腐蚀真空泵 | 广西绿桂涂料--承接隔热涂料、隔音涂料、真石漆、多彩仿石漆等涂料工程双包施工 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 中矗模型-深圳中矗模型设计有限公司 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技| 机构创新组合设计实验台_液压实验台_气动实训台-戴育教仪厂 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 活性炭-果壳木质煤质柱状粉状蜂窝活性炭厂家价格多少钱 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 铸铁平台,大理石平台专业生产厂家_河北-北重机械 | 泰国专线_泰国物流专线_广州到泰国物流公司-泰廊曼国际 | 陶氏道康宁消泡剂_瓦克消泡剂_蓝星_海明斯德谦_广百进口消泡剂 | vr安全体验馆|交通安全|工地安全|禁毒|消防|安全教育体验馆|安全体验教室-贝森德(深圳)科技 | 热风机_工业热风机生产厂家上海冠顶公司提供专业热风机图片价格实惠 | 利浦顿蒸汽发生器厂家-电蒸汽发生器/燃气蒸汽发生器_湖北利浦顿热能科技有限公司官网 | 南京泽朗生物科技有限公司 | 便民信息网_家电维修,家电清洗,开锁换锁,本地家政公司 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 地脚螺栓_材质_标准-永年县德联地脚螺栓厂家 | 在线PH计-氧化锆分析仪-在线浊度仪-在线溶氧仪- 无锡朝达 | MES系统-WMS系统-MES定制开发-制造执行MES解决方案-罗浮云计算 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 电伴热系统施工_仪表电伴热保温箱厂家_沃安电伴热管缆工业技术(济南)有限公司 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 |