• <menu id="w2i4a"></menu>
  • logo Parasoft C/C++test 使用教程

    文檔首頁(yè)>>Parasoft C/C++test 使用教程>>加快MISRA,CERT與專(zhuān)用報(bào)告工作流程的合規(guī)性

    加快MISRA,CERT與專(zhuān)用報(bào)告工作流程的合規(guī)性



    在開(kāi)發(fā)人員的日常工作流程中引入諸如MISRA或CERT之類(lèi)的編碼標(biāo)準(zhǔn)可能既費(fèi)時(shí)又麻煩。在本文中,我們將探討如何加快工具自動(dòng)化、專(zhuān)用報(bào)告和工作流管理的合規(guī)性。

    在主動(dòng)軟件開(kāi)發(fā)過(guò)程中,典型的開(kāi)發(fā)人員工作流程包括編碼(新代碼、重構(gòu)或修復(fù)現(xiàn)有代碼)、本地單元測(cè)試、將代碼提交至源代碼控制、發(fā)起持續(xù)集成(CI)構(gòu)建以及從此類(lèi)代碼接收反饋。構(gòu)建、修復(fù)錯(cuò)誤,然后繼續(xù)執(zhí)行下一個(gè)功能。

    在本文中,我將介紹如何通過(guò)將自動(dòng)靜態(tài)分析與專(zhuān)用報(bào)告和工作流管理一起利用,來(lái)成功地將編碼標(biāo)準(zhǔn)引入到日常流程中。這將幫助您介紹編碼標(biāo)準(zhǔn)合規(guī)性過(guò)程及其帶來(lái)的所有好處,而又不會(huì)犧牲您的工作效率并使開(kāi)發(fā)人員感到沮喪。

    通過(guò)專(zhuān)用的合規(guī)性和編碼標(biāo)準(zhǔn)報(bào)告,您還可以確保:

    • 流程的有效性(減輕開(kāi)發(fā)人員的負(fù)擔(dān))
    • 政策的一致性(并監(jiān)視團(tuán)隊(duì)進(jìn)度)
    • 合規(guī)的正式方面(包括自動(dòng)生成承包商或認(rèn)證機(jī)構(gòu)可能需要的合規(guī)文檔)

    讓我們開(kāi)始吧!我們將從測(cè)試配置開(kāi)始。


    定義測(cè)試配置


    將靜態(tài)分析應(yīng)用于工作流時(shí),您要做的第一件事是定義與您的項(xiàng)目相關(guān)的靜態(tài)代碼分析檢查器的配置。團(tuán)隊(duì)負(fù)責(zé)人、架構(gòu)師或功能安全員應(yīng)定義測(cè)試配置,并帶有一組靜態(tài)分析檢查程序以執(zhí)行編碼標(biāo)準(zhǔn)。這可能是一次性的過(guò)程,也可能是整個(gè)項(xiàng)目生命周期中的重復(fù)性行動(dòng)。

    如果您沒(méi)有遵循特定編碼標(biāo)準(zhǔn)的外部義務(wù),我們?nèi)匀唤ㄗh選擇要遵循的主要標(biāo)準(zhǔn),例如CERT或MISRA,并使用其他標(biāo)準(zhǔn)中的附加指南對(duì)其進(jìn)行擴(kuò)展,這可能對(duì)我們的開(kāi)發(fā)很有價(jià)值。我們通常會(huì)看到依賴(lài)MISRA C 2012的用戶將選定的CERT C準(zhǔn)則包括在流程中,反之亦然。


    IDE中發(fā)布測(cè)試配置


    一旦準(zhǔn)備好測(cè)試配置,就可以直接在其IDE中將其自動(dòng)提供給所有團(tuán)隊(duì)成員,以便在軟件開(kāi)發(fā)期間繼續(xù)使用。

    為了加快合規(guī)性流程并利用自動(dòng)靜態(tài)分析的早期缺陷和安全漏洞檢測(cè)的優(yōu)勢(shì),工作流中的這一點(diǎn)至關(guān)重要。開(kāi)發(fā)人員在代碼創(chuàng)建后立即對(duì)其進(jìn)行掃描。根據(jù)我們的觀察,提供合規(guī)性掃描結(jié)果的延遲甚至10到20分鐘也足夠使開(kāi)發(fā)人員失去注意力并繼續(xù)進(jìn)行其他工作。


    簽入代碼以進(jìn)行其他合規(guī)性掃描


    下一步,開(kāi)發(fā)人員檢入他們的代碼,這將觸發(fā)CI構(gòu)建,并在其中進(jìn)行其他合規(guī)性掃描。

    (如果有必要將靜態(tài)分析掃描設(shè)置為代碼簽入的門(mén),從而拒絕不符合標(biāo)準(zhǔn)的源代碼簽入,則經(jīng)常會(huì)出現(xiàn)這些問(wèn)題。根據(jù)我們的經(jīng)驗(yàn),這種方法不能很好地起作用。開(kāi)發(fā)人員可以輕松地獲得可以阻止因拒絕提交而造成的挫敗感和團(tuán)隊(duì)合作精神,而相關(guān)的代碼則無(wú)法按時(shí)集成;更好的工作流程不會(huì)阻止代碼簽入,而是假定會(huì)發(fā)現(xiàn)任何將其放入源存儲(chǔ)庫(kù)的違規(guī)行為CI級(jí)別。)

    在配置項(xiàng)構(gòu)建期間,將對(duì)源存儲(chǔ)庫(kù)進(jìn)行全面掃描。如果已經(jīng)在IDE中掃描了代碼,為什么還要執(zhí)行其他掃描?集成級(jí)別的掃描提供了一個(gè)安全網(wǎng),這是必需的,因?yàn)槟承?zhǔn)則只能在系統(tǒng)級(jí)別上被檢測(cè)到,或者只是被忽略。此外,需要更完整的源系統(tǒng)視圖來(lái)進(jìn)行更復(fù)雜的靜態(tài)分析(流分析),以幫助檢測(cè)缺陷和安全漏洞。

    用戶IDE中的本地掃描和CI服務(wù)器中的中央掃描的結(jié)合確保了準(zhǔn)確性和效率。


    查看結(jié)果并確定操作


    使用Parasoft C/C++test時(shí),CI掃描的結(jié)果將發(fā)布到集中的報(bào)告和分析中心,可在Web瀏覽器中訪問(wèn)該中心、該瀏覽器存儲(chǔ)和分析數(shù)據(jù)。

    團(tuán)隊(duì)負(fù)責(zé)人可以使用Web門(mén)戶來(lái)訪問(wèn)結(jié)果,了解合規(guī)性的當(dāng)前狀態(tài)以及深入研究特定的關(guān)注領(lǐng)域。然后,他們可以將任務(wù)分配給開(kāi)發(fā)人員,以跟進(jìn)分析過(guò)程中發(fā)現(xiàn)的違規(guī)行為。


    解決問(wèn)題


    然后,開(kāi)發(fā)人員解決這些問(wèn)題,在本地掃描代碼,并進(jìn)行更正,從而啟動(dòng)另一個(gè)周期。


    生成報(bào)告和文檔


    當(dāng)項(xiàng)目接近完成并且團(tuán)隊(duì)接近其合規(guī)目標(biāo)時(shí),將自動(dòng)生成合規(guī)報(bào)告,包括所使用的主要編碼標(biāo)準(zhǔn)所需的所有文檔。這些專(zhuān)用于該標(biāo)準(zhǔn)的專(zhuān)用報(bào)告可節(jié)省大量時(shí)間,從而減少了與創(chuàng)建和維護(hù)合規(guī)性文檔有關(guān)的繁瑣的手工工作。

    下面是MISRA和CERT的示例。

    MISRA合規(guī)報(bào)告

    Parasoft C/C++test提供了專(zhuān)用報(bào)告,用于記錄對(duì)MISRA C的遵從性。Parasoft Web門(mén)戶上的儀表板提供了有關(guān)項(xiàng)目當(dāng)前狀態(tài)的概覽視圖,例如:

    這些儀表板小部件均可以鏈接到更詳細(xì)的視圖,其中包含詳細(xì)的違規(guī)報(bào)告,文件和源代碼。

    從這里,您可以自動(dòng)創(chuàng)建記錄MISRA合規(guī)性所需的報(bào)告,如《MISRA Compliance 2016:實(shí)現(xiàn)MISRA編碼準(zhǔn)則的合規(guī)性》中所述。自動(dòng)化這些報(bào)告可以節(jié)省大量時(shí)間,從而大大減少了記錄項(xiàng)目合規(guī)性所需的手動(dòng)工作量。

    SEI CERT C合規(guī)報(bào)告

    盡管SEI CERT C標(biāo)準(zhǔn)不需要特定的合規(guī)性報(bào)告,但確實(shí)需要一個(gè)項(xiàng)目來(lái)記錄對(duì)規(guī)則集的符合性(例如L1,L2和完全合規(guī)性。)Parasoft C/C++test包括一個(gè)專(zhuān)用的儀表板,以確保CERT C的符合性,看起來(lái)像這樣:

    團(tuán)隊(duì)負(fù)責(zé)人可以使用該儀表板視圖來(lái)更深入地研究特定的關(guān)注領(lǐng)域,并為開(kāi)發(fā)人員分配任務(wù),以隨著時(shí)間的推移提高合規(guī)性。在編碼標(biāo)準(zhǔn)本身使用的風(fēng)險(xiǎn)評(píng)估框架的背景下查看結(jié)果(例如,看到特定的違反L1準(zhǔn)則的行為),極大地簡(jiǎn)化了流程。自動(dòng)執(zhí)行此報(bào)告可以減少團(tuán)隊(duì)負(fù)責(zé)人和架構(gòu)師為實(shí)現(xiàn)CERT C合規(guī)性而需要執(zhí)行的分析量。


    總結(jié)


    為了加快合規(guī)性,三個(gè)要素是必不可少的:合規(guī)性策略的集中管理、針對(duì)使用IDE的開(kāi)發(fā)人員的短反饋循環(huán)以及用于過(guò)程管理和報(bào)告生成的CI/CD掃描。通過(guò)靜態(tài)分析實(shí)現(xiàn)自動(dòng)化不僅是實(shí)現(xiàn)對(duì)規(guī)則集合規(guī)性的關(guān)鍵,而且還可以減少為審核員和評(píng)估員記錄和報(bào)告合規(guī)性的手動(dòng)工作。通過(guò)使用以Parasoft C/C++test為中心的以開(kāi)發(fā)人員為中心的工作流程,團(tuán)隊(duì)可以使用專(zhuān)用的報(bào)告工具每天有效地評(píng)估和監(jiān)視合規(guī)性,以幫助團(tuán)隊(duì)領(lǐng)導(dǎo)者管理和實(shí)現(xiàn)合規(guī)性。


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();