• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于RuleWizard的定制規(guī)則在核電軟件中的應(yīng)用

      2016-04-14 13:49:29陳曉凡
      電腦知識與技術(shù) 2016年5期

      陳曉凡

      摘要:核電軟件作為我國的新興產(chǎn)業(yè),對于我國的科學(xué)發(fā)展以及核電品牌的樹立具有非凡的作用。該文主要介紹了基于Rulewizard的定制規(guī)則在核電軟件中的應(yīng)用,實現(xiàn)了核電軟件編碼規(guī)范由人工走查方式向自動化檢測的轉(zhuǎn)變。該方法將測試人員從重復(fù)、低效的工作中解脫出來,對其他不同的新興軟件行業(yè)也具有一定的參考作用。

      關(guān)鍵詞:Rulewizard;編碼規(guī)范;核電軟件

      中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)05-0055-02

      Abstract: As China's new nuclear power software industry, for our scientific development of nuclear power and establish a brand with extraordinary effect. In this paper, based on custom rules Rulewizard application software in nuclear power, nuclear power to achieve the transition from the manual software coding standards Walk way to automate testing. This method testers from repetition, inefficient work freed for other different emerging software industry also has a certain reference.

      Key words: Rulewizard; coding standards;nuclear software

      1 概述

      為加快推進(jìn)核電技術(shù)的發(fā)展與創(chuàng)新,我國決定引進(jìn)具有世界先進(jìn)水平的AP1000三代核電技術(shù),并通過建設(shè)三門和海陽2個依托項目,組織對關(guān)鍵技術(shù)的消化吸收攻關(guān)和研發(fā),走出一條消化吸收再創(chuàng)新的核電自主發(fā)展的新道路[1]。消化-吸收-再創(chuàng)新發(fā)展模式的根本目標(biāo)是形成具有自主知識產(chǎn)權(quán)的核電技術(shù)及品牌[2],而實現(xiàn)核電軟件自主化的關(guān)鍵是設(shè)計自主化,包括設(shè)計能力、設(shè)計手段和設(shè)計工具的自主化。相比硬件自主化水平的提升,我國核電軟件自主化水平發(fā)展相對比較薄弱,同時,由于核電信息化程度和管理效率方面的落后使得自主化軟件發(fā)展遠(yuǎn)落后于核電發(fā)達(dá)國家。核電軟件自主化發(fā)展滯后,嚴(yán)重影響國內(nèi)核電行業(yè)的核心競爭力和核電研發(fā)企業(yè)的可持續(xù)發(fā)展能力。因此,大力推動自主化軟件的發(fā)展對核電先進(jìn)研發(fā)體系建設(shè)和核電技術(shù)自主創(chuàng)新發(fā)展都具有重要意義[3]。

      但自主開發(fā)軟件需要長期堅持研究和經(jīng)驗積累才能具備。核電自主軟件依然是我國核電先進(jìn)研發(fā)體系建設(shè)的薄弱環(huán)節(jié)。如何加強(qiáng)和加快適合我國核電技術(shù)需要的具有自主知識產(chǎn)權(quán)的軟件研發(fā),以推動核電技術(shù)的可持續(xù)發(fā)展,已成為擺在核電研發(fā)企業(yè)面前的重要任務(wù)[4]。核電軟件的核心最直觀的體現(xiàn)就是代碼,推動核電軟件的正規(guī)化、可持續(xù)發(fā)展化必須首先推動代碼的規(guī)范化。

      在核電軟件研發(fā)的道路上,我們不再只關(guān)注“量”的積累,而開始強(qiáng)調(diào)“質(zhì)”的飛躍,而軟件測試就是軟件質(zhì)量保證的一種訴求,是質(zhì)量保證過程中所依賴的主要活動之一[5]。

      測試作為保證“質(zhì)”的重要手段,參與軟件開發(fā)的全生命周期過程。具體如圖1所示:

      其中編碼實現(xiàn)對應(yīng)的單元測試又可分為單元靜態(tài)測試和動態(tài)測試,其中靜態(tài)測試作為軟件代碼測試的基礎(chǔ)項,可以在不執(zhí)行軟件代碼的基礎(chǔ)上對程序進(jìn)行缺陷檢測。據(jù)有關(guān)數(shù)據(jù)統(tǒng)計,代碼中的缺陷60%以上可以通過代碼審查(包括互查、走查、會議評審等形式)發(fā)現(xiàn)出來[5]。

      2 核電規(guī)范

      編程規(guī)范是有許多程序員在編程實踐中經(jīng)過長時間積累的經(jīng)驗教訓(xùn),經(jīng)過一些計算機(jī)領(lǐng)域的專家進(jìn)行反思,總結(jié)出來的一系列程序員在編程中應(yīng)該遵守的規(guī)則[6]。不同領(lǐng)域的編碼規(guī)范都不盡相同,例如較權(quán)威的有如下所示:

      1)MISRAC

      汽車工業(yè)軟件方面的C語言編碼規(guī)范,稱為MISRA-C:1998,于1988年由MISRA發(fā)布。MISRA-C:1998包括了127條C語言編碼規(guī)范,規(guī)則編號從1一直編到127(包括93項強(qiáng)制規(guī)則和34項建議規(guī)則)。2004年新版本發(fā)布,稱為MISRA-C:2004。許多重要的建議項的變更,規(guī)則也被重新編號。總共分為21個類,包括“開發(fā)環(huán)境”、“運(yùn)行錯誤”等,總共141項規(guī)則(121項強(qiáng)制要求和20項建議要求)。MISRA C++由MISRA C++委員會于2008年發(fā)布,包含了246條規(guī)則。采用類似MISRAC的技術(shù)編寫,集成了大量C++相關(guān)的標(biāo)準(zhǔn),適用于苛刻性系統(tǒng)。

      2)GJB5369-2005 編程規(guī)范

      GJB5369-2005是由航天科工集團(tuán)公司提出,航天科工集團(tuán)公司二院所起草,于2005年發(fā)布的一套國家航天軟件軍用標(biāo)準(zhǔn)。它是依照MISRA C:1988和LDRA2000年的《 MISRA C Checking》并結(jié)合航天型號軟件特點經(jīng)過補(bǔ)充和剪裁而形成,共有15個類別,138項規(guī)則(98項強(qiáng)制要求和40項建議要求)。

      而核電軟件作為一項新興的軟件行業(yè),與汽車工業(yè)軟件和航天軟件是不完全一樣的軟件種類,這也代表著其無法完全套用現(xiàn)存的編碼規(guī)范。因此在核電軟件的開發(fā)中,我們也不斷地在提出和完善適合于本行業(yè)的編碼規(guī)范,并在內(nèi)部實施和使用。由于非常具體的編碼規(guī)范檢查項可能涉及核電軟件的保密內(nèi)容,在本文中不再具體展開。但是我們依舊可以了解到核電軟件編碼規(guī)范的重要性。

      3 引入自動化的檢測工具Rulewizard

      最初核電軟件編碼規(guī)范測試是采用人工走查的方式進(jìn)行,程序員將開發(fā)好的代碼交由測試人員,測試人員再通過逐行掃描的方法找出代碼中違反規(guī)范的地方。當(dāng)軟件規(guī)模比較小時,采用人工走查的方式勉強(qiáng)能在規(guī)定時間內(nèi)完成測試任務(wù),但隨著核電軟件的急速發(fā)展,代碼的數(shù)量級也成指數(shù)倍增長,此時,傳統(tǒng)的人工走查方式耗費大量的人力物力不說,還存在極高的誤報率和漏報率[7]。因此,針對核電軟件規(guī)范開發(fā)對應(yīng)的自動化的檢查工具,將測試人員從非常繁瑣且包含大量重復(fù)勞動的任務(wù)中脫離出,并將更多的精力用來發(fā)現(xiàn)后續(xù)測試環(huán)節(jié)中的缺陷就顯得尤為重要。

      目前絕大部分靜態(tài)掃描工具都內(nèi)嵌了MISRAC和GJB5369-2005 等各個行業(yè)或者企業(yè)比較權(quán)威的規(guī)范標(biāo)準(zhǔn)。但是能夠支持用戶自定義編碼規(guī)范的不多,我們從各種層面分析,最終采用Rulewizard工具用于核電軟件編碼規(guī)范自動化檢測的設(shè)計和實現(xiàn)。

      Rulewizard是Parasoft公司旗下的一款可以用于定制編碼規(guī)范檢測的工具,既內(nèi)嵌了比較權(quán)威的國際通用的標(biāo)準(zhǔn)規(guī)范,也提供用戶自定義編碼規(guī)范檢查項的功能。Rulewizard是目前發(fā)現(xiàn)唯一一款既提供圖形化界面開發(fā)又支持添加Python代碼塊進(jìn)行規(guī)則定義的工具,具體見圖2、圖3所示(圖3源于圖2中Method方法的內(nèi)容)。

      Rulewizard規(guī)則通常由以下元素組成:

      節(jié)點 — 規(guī)則基本構(gòu)造塊。他們可以是表達(dá)式、變量、常數(shù),函數(shù)或語句。

      指令 — 定義節(jié)點的編程元素和節(jié)點的概念,以及定義兩個結(jié)點之間應(yīng)滿足的條件。

      輸出 — 在結(jié)果窗口中顯示每次違反的信息。

      屬性 — 規(guī)則的屬性,包括作者、標(biāo)題、規(guī)則編號和規(guī)則描述。

      其中,基本規(guī)則只包含父節(jié)點、輸出和屬性。更復(fù)雜的規(guī)則包括父節(jié)點、多個指令節(jié)點以及節(jié)點之間一系列的條件關(guān)系、輸出和屬性。

      4 結(jié)束語

      核電軟件作為我國的新興產(chǎn)業(yè),對于我國的科學(xué)發(fā)展以及核電品牌的樹立具有非凡的作用。本文主要介紹了基于Rulewizard的定制規(guī)則在核電軟件中的具體應(yīng)用,實現(xiàn)了核電軟件編碼規(guī)范由人工走查方式向自動化檢測的轉(zhuǎn)變。核電專用軟件集成研發(fā)過程中得到的數(shù)據(jù)經(jīng)驗和成果,具有傳承性[8]。自動化的編碼規(guī)范檢測既提高了測試效率、降低核電軟件中潛在的風(fēng)險,又可以讓后人少走彎路,對新興軟件行業(yè)的發(fā)展具有一定的參考作用。

      參考文獻(xiàn):

      [1] 林誠格. 非能動安全先進(jìn)核電廠AP1000[M]. 北京: 原子能出版社, 2008:4-15.

      [2] 孫漢虹. 第三代核電技術(shù)AP1000[M]. 北京: 中國電力出版社, 2010: 1-5.

      [3] 趙飛云, 于浩, 賀寅標(biāo), 等. CAE 分析技術(shù)在三代核電設(shè)備國產(chǎn)化中的任務(wù)和方向[J]. 計算機(jī)輔助工程, 2011, 20(3): 85-87.

      [4] 趙飛云, 葉成, 姚彥貴. 自主化軟件在核電先進(jìn)研發(fā)體系中的作用[J]. 計算機(jī)輔助工程, 2015, 05: 71-75.

      [5] 朱少民. 全程軟件測試[M]. 北京: 電子工業(yè)出版社, 2014: 14-15, 181.

      [6] 皮基慶. 一種C語言靜態(tài)代碼檢測工具的研究與實現(xiàn)[D]. 北京: 北京郵電大學(xué), 2015: 27.

      [7] Chess B, McGraw G .Static analysis for security[J]. IEEE Security & Privacy,2004, 2(6): 76-79.

      [8] 趙飛云, 葉成, 姚彥貴. 自主化軟件在核電先進(jìn)研發(fā)體系中的作用[J]. 計算機(jī)輔助工程, 2015(5): 71-75.

      娄烦县| 深圳市| 隆安县| 大竹县| 馆陶县| 布拖县| 五家渠市| 洞口县| 台湾省| 博湖县| 历史| 嘉黎县| 思南县| 饶平县| 湘潭县| 浪卡子县| 拉孜县| 昭觉县| 兰溪市| 梧州市| 东乌珠穆沁旗| 嘉义市| 马山县| 麻江县| 威宁| 固始县| 阿鲁科尔沁旗| 成武县| 崇义县| 工布江达县| 绍兴县| 沿河| 西乌珠穆沁旗| 项城市| 樟树市| 霞浦县| 乌拉特前旗| 绥化市| 汉沽区| 景洪市| 交城县|