Java API文檔缺陷自動檢測和修復(fù)方法研究
發(fā)布時(shí)間:2021-07-13 13:00
應(yīng)用程序編程接口(Application Programming Interface,API)在軟件開發(fā)中起著非常關(guān)鍵的作用?焖僬_地理解API是使用API的前提,而API文檔的質(zhì)量會嚴(yán)重影響開發(fā)人員對API的使用。觀察發(fā)現(xiàn),API文檔中具有缺少參數(shù)約束信息描述的缺陷,導(dǎo)致開發(fā)人員在使用API時(shí)出現(xiàn)問題。因此,研究API文檔的缺陷具有現(xiàn)實(shí)意義。為了完善API文檔,本文提出了基于程序靜態(tài)分析和自然語言處理的API文檔缺陷自動檢測和修復(fù)方法,該方法能夠自動檢測和修復(fù)API文檔缺陷。在缺陷檢測中,通過對代碼的調(diào)用關(guān)系分析和抽象語法樹分析,獲得代碼中的參數(shù)約束信息,對API文檔進(jìn)行基于啟發(fā)式規(guī)則的自然語言理解,獲取文檔中關(guān)于參數(shù)約束信息的描述,并根據(jù)代碼和文檔中的參數(shù)約束信息生成一階邏輯表達(dá)式(First Order Logic,FOL),用定理求解器進(jìn)行約束求解,判斷兩者是否一致。如果一致,則文檔描述正確沒有缺陷,如果不一致,則文檔有缺陷,需要進(jìn)行補(bǔ)全。最終生成該API的缺陷報(bào)告。對于檢測出的文檔缺陷,通過模板的方式,利用從代碼中提取的參數(shù)約束信息的FOL,生成約束信息描述,對文檔進(jìn)行補(bǔ)全...
【文章來源】:南京航空航天大學(xué)江蘇省 211工程院校
【文章頁數(shù)】:74 頁
【學(xué)位級別】:碩士
【部分圖文】:
語法子集及其例子通過上述方式,可以很簡單的得到一個(gè)目標(biāo)句子的語法樹,但是,這種方法存在非常明顯的缺點(diǎn),即一個(gè)句子可以得到不同的形式的語法樹,如圖2.4所示,這兩個(gè)語法樹表示的是一
Java API 文檔缺陷自動檢測和修復(fù)方法研究10圖2.4 相同句子的兩種語法樹由于上述方法對于相同句子可以生成多種語法樹,使語法樹具有二義性。因此便有了基于該方法的進(jìn)階算法:概率分布的上下文無關(guān)語法。除了上述的語法規(guī)則外,會給生成的每條規(guī)則添加一個(gè)概率,如圖 2.5 所示。對于每顆語法樹,將其中所有出現(xiàn)詞匯的概率的乘積作為語法樹的概率,當(dāng)獲得了多顆語法樹時(shí),每顆語法樹便擁有了不同的概率,選取其中概率最大的語法樹作為最終的語法樹結(jié)構(gòu),從而在一定程度上消除了二義性。圖2.5 概率分布的上下文無關(guān)語法獲得句子的語法樹后,便可對句子進(jìn)行語法分析。常用的句法分析分為兩種:短語結(jié)構(gòu)的
法樹的概率,當(dāng)獲得了多顆語法樹時(shí),每顆語法樹便擁有了不同的概率,選取其中概率最大的語法樹作為最終的語法樹結(jié)構(gòu),從而在一定程度上消除了二義性。圖2.5 概率分布的上下文無關(guān)語法獲得句子的語法樹后,便可對句子進(jìn)行語法分析。常用的句法分析分為兩種:短語結(jié)構(gòu)的
【參考文獻(xiàn)】:
期刊論文
[1]API使用的關(guān)鍵問題研究[J]. 李正,吳敬征,李明樹. 軟件學(xué)報(bào). 2018(06)
本文編號:3282111
【文章來源】:南京航空航天大學(xué)江蘇省 211工程院校
【文章頁數(shù)】:74 頁
【學(xué)位級別】:碩士
【部分圖文】:
語法子集及其例子通過上述方式,可以很簡單的得到一個(gè)目標(biāo)句子的語法樹,但是,這種方法存在非常明顯的缺點(diǎn),即一個(gè)句子可以得到不同的形式的語法樹,如圖2.4所示,這兩個(gè)語法樹表示的是一
Java API 文檔缺陷自動檢測和修復(fù)方法研究10圖2.4 相同句子的兩種語法樹由于上述方法對于相同句子可以生成多種語法樹,使語法樹具有二義性。因此便有了基于該方法的進(jìn)階算法:概率分布的上下文無關(guān)語法。除了上述的語法規(guī)則外,會給生成的每條規(guī)則添加一個(gè)概率,如圖 2.5 所示。對于每顆語法樹,將其中所有出現(xiàn)詞匯的概率的乘積作為語法樹的概率,當(dāng)獲得了多顆語法樹時(shí),每顆語法樹便擁有了不同的概率,選取其中概率最大的語法樹作為最終的語法樹結(jié)構(gòu),從而在一定程度上消除了二義性。圖2.5 概率分布的上下文無關(guān)語法獲得句子的語法樹后,便可對句子進(jìn)行語法分析。常用的句法分析分為兩種:短語結(jié)構(gòu)的
法樹的概率,當(dāng)獲得了多顆語法樹時(shí),每顆語法樹便擁有了不同的概率,選取其中概率最大的語法樹作為最終的語法樹結(jié)構(gòu),從而在一定程度上消除了二義性。圖2.5 概率分布的上下文無關(guān)語法獲得句子的語法樹后,便可對句子進(jìn)行語法分析。常用的句法分析分為兩種:短語結(jié)構(gòu)的
【參考文獻(xiàn)】:
期刊論文
[1]API使用的關(guān)鍵問題研究[J]. 李正,吳敬征,李明樹. 軟件學(xué)報(bào). 2018(06)
本文編號:3282111
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3282111.html
最近更新
教材專著