任洪君
摘 要 隨著科技時代的不斷推進(jìn),我國軟件行業(yè)的發(fā)展起到了更加的作用。人們對于軟件的要求在不斷的提升,比如軟件的可靠性、安全性和保密性等可信性質(zhì)都是人們關(guān)注的重點(diǎn)。本文主要對高可信軟件工程技術(shù)的發(fā)展現(xiàn)狀以及發(fā)展過程中所要面對的困難進(jìn)行了討論,同時提出了高可信軟件的發(fā)展趨勢。
【關(guān)鍵詞】軟件開發(fā) 高可信軟件 可靠性技術(shù)
伴隨著時代的發(fā)展,計算機(jī)應(yīng)用不斷地深入人們的生活中,同時軟件的應(yīng)用也已經(jīng)在人們正常生活和國家建設(shè)上擁有了良好的生態(tài)環(huán)境。良好的軟件構(gòu)架給人們的生活帶來了便利,給人們提供了一種新的生活方式,打開電腦、手機(jī)就可以完成原來需要到處跑的窘境,人們可以不出家門獲悉全球的動態(tài),并且通過新興的行業(yè)電子商務(wù),在家中也可以工作。軟件不僅僅幫助人們更高效、更便捷的生活,在國家建設(shè)上面,也起著至關(guān)重要的作用。因此,如何保證軟件運(yùn)行過程中與硬件完美結(jié)合,同時增加軟件的可信程度成為現(xiàn)今軟件工程開發(fā)的重要部分。
1 高可信軟件工程技術(shù)的發(fā)展現(xiàn)狀
高可信軟件的開發(fā)目的就是不會因為系統(tǒng)中的固有錯誤、生態(tài)環(huán)境的改變、大規(guī)模惡意攻擊造成軟件崩潰。這就要求軟件的開發(fā)中,對于系統(tǒng)行為有著精確的把控,不讓系統(tǒng)的bug影響軟件的正常運(yùn)行。
軟件工程技術(shù)是指在軟件的開發(fā)、運(yùn)行和維護(hù)的相應(yīng)技術(shù),由于對高可信軟件的要求較高,所以我國對于高可信軟件的開發(fā)還停留在“軍用穩(wěn)定、民用簡單”的程度。我國的火箭成功率是世界的前三名,如此高的成功率,不僅是硬件的實力強(qiáng),同時也是軟件的穩(wěn)定性高,成就了現(xiàn)在我國火箭發(fā)射的成功率。但是我國各大銀行的網(wǎng)上銀行軟件雖然能夠運(yùn)行,但是流暢性和實用性卻大打折扣,這就使用戶的使用體驗下降。高可信軟件技術(shù)需要從三個方面尋求支持才能讓軟件發(fā)揮其作用,從軟件的運(yùn)行系統(tǒng)中需要得到軟件的訪問權(quán)限控制,不讓其他軟件能夠更改底層文件,比如Android系統(tǒng)中,系統(tǒng)的開源程度較高,高可信軟件運(yùn)行時就需要得到系統(tǒng)的支持;軟件的過程技術(shù),需要對軟件的可靠性進(jìn)行驗證和度量,所以過程技術(shù)中使用一種工程化的方法,對軟件正常運(yùn)行進(jìn)行支持。
2 高可信軟件技術(shù)的發(fā)展的困難
高可信軟件中有六項性質(zhì)的好壞,是對于軟件是否能夠穩(wěn)定運(yùn)行的評判標(biāo)準(zhǔn),這六項標(biāo)準(zhǔn)分別是可靠性(reliability)、可靠安全性(safety)、保密安全性(security)、生存性(survivability)、容錯性(fault tolerance)、時效性(real time),當(dāng)軟件出現(xiàn)以上六種性質(zhì)錯誤時,就會造成不可挽回的損失。并且軟件功能和這些性質(zhì)是混雜在一起的,就意味著軟件的可信性的高低,收到控制時就變得更加復(fù)雜,如何保證軟件能夠成為高可信軟件就成為一個難題。
2.1 軟件的行為特征
如何在軟件靜態(tài)和動態(tài)使用時描述軟件的行為特征,是高可信軟件開發(fā)時所要面臨的巨大挑戰(zhàn)。在龐大的數(shù)據(jù)與軟件結(jié)構(gòu)里,想要有效的分析出軟件與系統(tǒng)的行為特征,是非常困難的,有時需要進(jìn)行相應(yīng)的預(yù)測才能使軟件正常的運(yùn)行。同時軟件的靜態(tài)語法和動態(tài)語法是分離開的,所以對于推理的難度又有所增加。
2.2 軟件可信性質(zhì)的設(shè)計和推理
如何將軟件的可信性質(zhì),也就是如何將軟件主體性質(zhì)融入到軟件的操作當(dāng)中?通常來說可信性質(zhì)是對于整個軟件系統(tǒng)進(jìn)行設(shè)計的,并且是在軟件的設(shè)計過程中逐步的開發(fā)出來的,最終將這些性質(zhì)進(jìn)行復(fù)雜的融合和測試,最終能夠獲得這些可信性質(zhì)。如何將多種性質(zhì)從不同的開發(fā)方向進(jìn)行融合時,能夠控制這個系統(tǒng)的復(fù)雜性,是進(jìn)行全方面的可信性質(zhì)的軟件設(shè)計和驗證的關(guān)鍵。
2.3 如何量化軟件的可信性質(zhì)
由于對高可信軟件技術(shù)研究較少,沒有一個系統(tǒng)的量化標(biāo)準(zhǔn)在軟件開發(fā)完成后對軟件的可信性質(zhì)進(jìn)行驗證。如何發(fā)現(xiàn)和測評軟件是否缺失可信性質(zhì),是提高軟件可靠程度所要面對的一大難題。量化是一種科學(xué)成熟的重要標(biāo)志,如何針對軟件的完整性、可靠性、安全性進(jìn)行考量是接下來需要付出巨大努力的。而且在軟件的使用過程中,還要制定一套完整的跟蹤制度,防止軟件出現(xiàn)可信性質(zhì)缺失造成無法挽回的損失。
3 高可信軟件工程技術(shù)的開發(fā)方法
形式化方法對高可信軟件技術(shù)的發(fā)展與推進(jìn)起這至關(guān)重要的作用,但是這種方法的運(yùn)用多數(shù)還存在于實驗室中,以一種標(biāo)準(zhǔn)化的模式,對高可信軟件進(jìn)行規(guī)范化,同時將形式化和非形式化進(jìn)行結(jié)合是行業(yè)的趨勢。多種可信性質(zhì)的有效結(jié)合是高可信軟件開發(fā)的重點(diǎn),利用形式化方法為高可信軟件工程技術(shù)提供一個高效、統(tǒng)一的結(jié)構(gòu)框架能夠同時支持多種的可信性質(zhì),所以形式化方法能夠?qū)㈥P(guān)鍵性質(zhì)進(jìn)行有機(jī)集成。
有些形式化工程方法,可以提供具有形式化方法基礎(chǔ)的工具,這是一種較強(qiáng)的自動化工具,使得使用人無需擁有較強(qiáng)的形式化專業(yè)知識就能夠使用形式化工程方法。工具的人機(jī)交互功能非常的易于理解,可以有效地對軟件的主要性質(zhì)、設(shè)計進(jìn)行相應(yīng)的測試。
4 總結(jié)
高可信軟件工程技術(shù)是當(dāng)前軟件技術(shù)行業(yè)所要面對的重要挑戰(zhàn)。把握住這次信息化改革的腳步就能讓我國軟件開發(fā)行業(yè)更上一層樓。發(fā)展高可信軟件技術(shù)有利于加深人們對于高可信軟件技術(shù)的認(rèn)識;提升我國科技的發(fā)展;可靠性的提升還可以幫助人類更好地探索未知的世界,讓軟件能夠更好地服務(wù)于人類社會。
參考文獻(xiàn)
[1]楊芙清,梅宏,呂建,金芝.淺論軟件技術(shù)發(fā)展[J].電子學(xué)報,2002,30(12A):1901-1906.
[2]High Confidence Syst ems Working Group,NSTC. Setting an interagency high confidence syst ems(HCS)research agenda[A].Proceedings of the Interagency High Confidence Systems Workshop[C].Arlington,Virginia,25 March 1998.
[3]陳火旺,王戟,董威.高可信軟件工程技術(shù)[J].電子學(xué)報,2003,31(12A):1933-1938.
作者單位
天津港信息技術(shù)發(fā)展有限公司 天津市 300456