亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于擴(kuò)展同步序列的Java多線程程序可達(dá)性測(cè)試思路構(gòu)建探索

        2014-01-01 00:00:00孫小淋

        摘 要:針對(duì)Java程序的并發(fā)性特點(diǎn),應(yīng)用可達(dá)性測(cè)試是一種有效的方法。但是,為了克服Java多線程程序在應(yīng)用可達(dá)性測(cè)試的過(guò)程中,所產(chǎn)生的局限性和不能實(shí)現(xiàn)對(duì)事件的同步檢測(cè),或者同步檢測(cè)錯(cuò)誤等問(wèn)題,需要應(yīng)用一種基于擴(kuò)展同步序列的可達(dá)性測(cè)試方法。

        關(guān)鍵詞:擴(kuò)展;同步序列;Java多線程程序;可達(dá)性;測(cè)試思路

        中圖分類(lèi)號(hào):TP311.11

        基于擴(kuò)展同步序列的Java多線程程序可達(dá)性測(cè)試,是一種測(cè)試Java多線程程序的有效方法,主要包括3個(gè)部分,分別是構(gòu)建Java多線程程序流圖、計(jì)算擴(kuò)展同步序列和確定性測(cè)試。經(jīng)過(guò)一定的試驗(yàn)和研究之后發(fā)現(xiàn),應(yīng)用同步擴(kuò)展序列,可以有效的解決可達(dá)性測(cè)試的局限性、事件不同步或者同步等錯(cuò)誤。

        1 簡(jiǎn)述基于擴(kuò)展同步序列的Java多線程程序可達(dá)性測(cè)試

        1.1 Java可達(dá)性測(cè)試的定義

        1994年,可達(dá)性測(cè)試方法的提出,在非確定性測(cè)試方法的思想基礎(chǔ)上,總結(jié)出了新的測(cè)試思想。并且,以確定性測(cè)試方法作為基礎(chǔ)進(jìn)行了一定的改革和創(chuàng)新。通過(guò)這些有效的結(jié)合和改革,形成了一種新的方法,用于實(shí)現(xiàn)對(duì)Java并發(fā)程序的測(cè)試。在實(shí)現(xiàn)對(duì)Java程序測(cè)試的時(shí)候,應(yīng)用的測(cè)試策略主要是基于路徑的測(cè)試策略。測(cè)試Java的并發(fā)程序,應(yīng)用的方法主要是同步序列,覆蓋了測(cè)試度量。同步序列主要是指一種有序的時(shí)間序列,是由同步的對(duì)象和事件共同組成的。同步對(duì)象是指一種共享對(duì)象,Java并發(fā)程序中的多個(gè)不同的進(jìn)程或者線程都可實(shí)現(xiàn)訪問(wèn);同步事件主要是指一個(gè)操作過(guò)程,針對(duì)的是同步對(duì)象,也是人們說(shuō)的對(duì)象事件。在Java多線程程序的可達(dá)性測(cè)試過(guò)程中,保證測(cè)試象數(shù)據(jù)的完整性,需要保證同步對(duì)象操作的同步化。這種同步化操作過(guò)程,就是可達(dá)性測(cè)試中的同步事件。而在Java多線程程序的可達(dá)性測(cè)試過(guò)程中,不能實(shí)現(xiàn)同步化操作的過(guò)程,就是非同步事件。

        1.2 基于擴(kuò)展同步序列Java可達(dá)性測(cè)試的必要性

        傳統(tǒng)的可達(dá)性方法在測(cè)試過(guò)程中的基礎(chǔ)是度量同步序列的覆蓋,但是同步序列中,同步對(duì)象的同步事件是基本的組成元素,沒(méi)有涉及到源Java程序中的非同步事件等程序的組成部分。這種現(xiàn)象導(dǎo)致Java程度的可達(dá)性測(cè)試過(guò)程中,對(duì)錯(cuò)誤的覆蓋率比較低,檢測(cè)的范圍也受到了一定的限制,存在比較大的局限性。這種檢測(cè)方法不能實(shí)現(xiàn)對(duì)Java程序中并發(fā)性的有效檢測(cè)。例如,Java程度檢測(cè)的過(guò)程中,同步的對(duì)象沒(méi)有實(shí)現(xiàn)對(duì)象事件的同步,以及因?yàn)橥綄?duì)象的事件同步不當(dāng)所造成的一些問(wèn)題等。這些問(wèn)題充分的說(shuō)明了傳統(tǒng)Java程序可達(dá)性測(cè)試的局限性。針對(duì)這一現(xiàn)象,需要在對(duì)Java多線程程序的并發(fā)性進(jìn)行測(cè)試的過(guò)程中,應(yīng)用基于擴(kuò)展同步序列的可達(dá)性測(cè)試方法。

        1.3 基于擴(kuò)展同步序列Java可達(dá)性測(cè)試

        針對(duì)Java程序并發(fā)性可達(dá)性測(cè)試過(guò)程中出現(xiàn)的局限性,人們提出了基于擴(kuò)展同步序列的Java可達(dá)性測(cè)試方法,有效的解決了Java程序可達(dá)性測(cè)試中出現(xiàn)的問(wèn)題。這種方法主要是從線程的角度出發(fā),將擴(kuò)展同步序列作為并發(fā)程序的測(cè)試覆蓋的度量基礎(chǔ),實(shí)現(xiàn)對(duì)Java多線程程序的可達(dá)性測(cè)試。擴(kuò)展同步序列主要是指一個(gè)有序的時(shí)間序列,基本的構(gòu)成元素是同步事件和并行事件。其中,在Java程序的并發(fā)程序中,對(duì)同步對(duì)象進(jìn)行語(yǔ)法判定為同步操作過(guò)程的事件,被稱(chēng)為同步事件。

        2 基于擴(kuò)展同步序列的可達(dá)性測(cè)試方法

        基于擴(kuò)展同步序列的可達(dá)性測(cè)試方法,主要是一個(gè)有序的時(shí)間序列,構(gòu)成的基本元素包括同步事件和并行事件。就Java多線程程序而言,可達(dá)性測(cè)試中的同步事件主要是指一種同步方法或者是一種同步塊實(shí)現(xiàn)的操作過(guò)程。本文以JTFD這一Java多線程程序流圖為例,分析Java多線程程序的基于擴(kuò)展同步序列的可達(dá)性測(cè)試方法。

        圖1 生產(chǎn)者-消費(fèi)者程序JTFD圖

        2.1 Java多線程程序執(zhí)行事件的序列

        根據(jù)JTFD,Java程序的測(cè)試人員可以完成對(duì)事件序列的構(gòu)建,并且分析出競(jìng)態(tài)條件。一般情況下,對(duì)于同步事件,測(cè)試人員可以抽象出同步讀事件或者同步寫(xiě)事件,分別用sr和sw表示。同步寫(xiě)事件主要是指針對(duì)Java多線程程序中的同步對(duì)象,所操作的同步信息更新過(guò)程;同步讀事件主要是指抽取同步信心所實(shí)施的同步操作過(guò)程。單個(gè)線程的執(zhí)行事件序列,主要是按照一定的順序排列組成的,是在測(cè)試用例條件下對(duì)同步事件和并行事件的排列,表示的公式是:其中線程用i進(jìn)行表示,并行事件用p表示,同步事件用s表示,上標(biāo)是對(duì)同步對(duì)象版本號(hào)的一種表示,主要的作用是反映出Java多線程程序中更新同步對(duì)象和事件的一種狀況。版本號(hào)的初始值是0。

        2.2 Java多線程程序的擴(kuò)展同步序列計(jì)算

        針對(duì)Java多線程程序中并發(fā)程序p的其中一個(gè)可行性同步序列s,并發(fā)程序p中的其它可行性同步序列前綴,可以看做是是同步序列s的競(jìng)爭(zhēng)對(duì)手。換一種說(shuō)法就是,針對(duì)Java多線程程序中并發(fā)程序p的其中一個(gè)可行性同步序列s’來(lái)說(shuō),并發(fā)程序p中的其它可行性同步序列前綴,都可以當(dāng)做是自身的競(jìng)爭(zhēng)對(duì)手。同步序列的競(jìng)爭(zhēng)對(duì)手,主要的計(jì)算依據(jù)就是競(jìng)爭(zhēng)對(duì)手圖的構(gòu)造。根據(jù)同步擴(kuò)展序列的定義,可以得出計(jì)算擴(kuò)展同步序列的定理:可行性擴(kuò)展同步序列中由同步事件組成的次序不變子序列是一個(gè)可行性同步序列。根據(jù)這一定理,可以針對(duì)JTFD的多線程程序可行性同步序列進(jìn)行計(jì)算,消費(fèi)者線程執(zhí)行的事件序列是: 2.3 Java多線程程序的確定性測(cè)試

        在構(gòu)建完成Java多線程程序的擴(kuò)展同步序列之后,測(cè)試人員要實(shí)現(xiàn)對(duì)所有擴(kuò)展同步序列的確定性測(cè)試。目前,在Java多線程程序中的擴(kuò)展同步序列確定性測(cè)試過(guò)程中,應(yīng)用的方法主要有兩種。第一種是修改編譯器、程序運(yùn)行操作系統(tǒng)或者運(yùn)行環(huán)境,實(shí)現(xiàn)對(duì)程序事件執(zhí)行順序的控制;第二種是通過(guò)Java程序語(yǔ)言的自身實(shí)現(xiàn)對(duì)程序事件執(zhí)行順序的控制。在實(shí)際的Java多線程程序可達(dá)性測(cè)試過(guò)程中,測(cè)試人員可以根據(jù)實(shí)際的情況,選擇合適的方式實(shí)現(xiàn)對(duì)程序事件執(zhí)行順序的控制。

        3 結(jié)束語(yǔ)

        計(jì)算機(jī)信息技術(shù)的迅速發(fā)展,為我國(guó)不同程度的開(kāi)發(fā)和設(shè)計(jì)提供了有效的技術(shù)支持。Java程序是目前我國(guó)程序中的應(yīng)用比較廣泛的一種,它的并發(fā)性測(cè)試筆串行程序的測(cè)試更加困難。應(yīng)用基于擴(kuò)展同步序列的可達(dá)性測(cè)試方法實(shí)現(xiàn)對(duì)Java多線程程序的并發(fā)性測(cè)試,具有良好的效果,促進(jìn)了我國(guó)程序的開(kāi)發(fā)和設(shè)計(jì)。

        參考文獻(xiàn):

        [1]孫玉霞,陳火炎.一個(gè)用于Java程序可達(dá)性測(cè)試的改進(jìn)方案[J].微計(jì)算機(jī)信息,2006(18).

        [2]孫玉霞.一個(gè)生成Java程序同步序列集的新算法[J].暨南大學(xué)學(xué)報(bào)(自然科學(xué)與醫(yī)學(xué)版),2006(05).

        [3]王艷臣.并發(fā)程序測(cè)試——基于擴(kuò)展同步序列的Java多線程程序可達(dá)性測(cè)試方法[M].東南大學(xué)(軟件與理論),2007.

        作者簡(jiǎn)介:孫小淋(1981.08-),女,山東煙臺(tái)人,本科,助教,研究方向:計(jì)算機(jī)、動(dòng)漫教育。

        作者單位:煙臺(tái)職業(yè)學(xué)院,山東煙臺(tái) 264670

        男女打扑克视频在线看| 在线观看午夜亚洲一区| 男女野外做爰电影免费| 天天爽夜夜爽人人爽曰喷水| 色综合另类小说图片区| 亚洲成AV人片无码不卡| 18禁成人免费av大片一区| 一区二区三区日韩蜜桃| 麻豆精品一区二区av白丝在线| 国产精品久久久久一区二区三区| 人妻少妇不满足中文字幕| 久久精品无码专区免费青青| 二区三区视频| 国产毛片一区二区日韩| 尤物蜜桃视频一区二区三区| 日本在线一区二区三区不卡| 狠狠噜狠狠狠狠丁香五月| 人妻丰满熟妇av无码片| 精品88久久久久88久久久| 国产精品欧美韩国日本久久| 大屁股流白浆一区二区| 丰满又紧又爽又丰满视频| 99精品国产在热久久无毒不卡| 中文字幕在线日亚洲9| 欧美日韩中文国产一区发布| 亚洲依依成人综合在线网址| 亚洲欧洲日韩免费无码h| 日本高清视频在线一区二区三区| 国产av一啪一区二区| 亚洲精品在线国产精品| s级爆乳玩具酱国产vip皮裤| 亚洲一区av无码少妇电影| 精品熟女少妇免费久久| av有码在线一区二区 | 少妇激情av一区二区三区| 久久精品99久久香蕉国产| 免费无码国产v片在线观看| 全免费a级毛片免费看| 成人女同av免费观看| 麻豆国产精品一区二区三区| 国产毛多水多高潮高清|