北京軟件開(kāi)發(fā)公司如何打破Java的API_北京軟件開(kāi)發(fā)公司
發(fā)表日期:2015-05-28 14:54:16 ?? 文章編輯:宜天信達(dá) ?? 瀏覽次數(shù):
北京軟件開(kāi)發(fā)公司如何打破Java的API,JAVA已成為利用圖書(shū)館建設(shè)方案共同實(shí)踐。而重用的好處是眾所周知的,一個(gè)經(jīng)常被忽視的風(fēng)險(xiǎn)是系統(tǒng)運(yùn)行時(shí)的故障,由于在庫(kù)API獨(dú)立進(jìn)化的變化。傳統(tǒng)上,一個(gè)程序,它使用的圖書(shū)館之間的一致性檢查在生成時(shí),當(dāng)整個(gè)系統(tǒng)編譯和測(cè)試。然而,趨勢(shì)部分升級(jí)系統(tǒng)重新部署只進(jìn)化庫(kù)版本的結(jié)果的情況下,這些關(guān)鍵的驗(yàn)證步驟被省略。對(duì)于Java程序,部分升級(jí)創(chuàng)造更多的有趣的問(wèn)題,編譯器和虛擬機(jī)使用不同的規(guī)則集執(zhí)行的提供者和消費(fèi)者之間的合同的API。
目的
北京軟件開(kāi)發(fā)公司研究了真實(shí)世界中的程序問(wèn)題的程度。我們?cè)趦煞矫娓信d趣:API兼容性的變化作為圖書(shū)館發(fā)展的影響,這對(duì)使用這些庫(kù)的程序。
方法
北京軟件開(kāi)發(fā)公司研究的是基于Qualitas語(yǔ)料庫(kù)20120401版。一個(gè)數(shù)據(jù)集包括109個(gè)Java開(kāi)源項(xiàng)目和564計(jì)劃的版本是從語(yǔ)料。我們研究了兩類(lèi)依賴(lài)庫(kù):嵌入式圖書(shū)館的顯式依賴(lài),和依賴(lài)的符號(hào)引用定義在Maven構(gòu)建文件,解決在建立時(shí)間。我們已經(jīng)用API分析JACC,這個(gè)工具是基于流行的ASM字節(jié)代碼分析庫(kù)。
結(jié)果
北京軟件開(kāi)發(fā)公司發(fā)現(xiàn),對(duì)于大多數(shù)的程序進(jìn)行,API不穩(wěn)定不兼容的改變是常見(jiàn)的。令人驚訝的是,在項(xiàng)目中使用自動(dòng)化的依賴(lài)解析更多的兼容性問(wèn)題。然而,我們發(fā)現(xiàn)只有少數(shù)情況下,這一實(shí)際影響其他程序使用的API。
結(jié)論
宜天信達(dá)的結(jié)論是,API不穩(wěn)定是普遍存在的問(wèn)題和原因使用這些API的程序。因此,更好的工具和方法來(lái)保障圖書(shū)館發(fā)展。
宜天信達(dá)的結(jié)論是,API不穩(wěn)定是普遍存在的問(wèn)題和原因使用這些API的程序。因此,更好的工具和方法來(lái)保障圖書(shū)館發(fā)展。