公司怎么找做網(wǎng)站信息流推廣方式
ASE 2022?
Understanding and Predicting Docker Build Duration: An Empirical Study of Containerized Workflow of OSS Projects
理解和預(yù)測 Docker 構(gòu)建持續(xù)時間:OSS 項目容器化工作流程的實證研究
Docker 構(gòu)建是容器化工作流程的關(guān)鍵組成部分,它自動執(zhí)行將源打包并轉(zhuǎn)換為容器映像的過程。如果運(yùn)行不正常,Docker 構(gòu)建會帶來較長的持續(xù)時間(即構(gòu)建緩慢),從而增加人力和計算資源的成本,從而不可避免地影響軟件開發(fā)。然而,Docker 構(gòu)建持續(xù)時間成本的現(xiàn)狀和補(bǔ)救措施仍不清楚,需要深入研究。為了填補(bǔ)這一空白,本文對 5,833 個開源軟件 (OSS) 項目的 171,439 個 Docker 構(gòu)建進(jìn)行了首次實證調(diào)查。從探索性研究開始,可以在實際項目中描述 Docker 構(gòu)建持續(xù)時間,并通過全面調(diào)查獲得開發(fā)人員對緩慢構(gòu)建的看法。在探索性研究結(jié)果的推動下,我們提出了 Docker 構(gòu)建持續(xù)時間的預(yù)測模型,利用來自構(gòu)建相關(guān)上下文和配置的 27 個手工特征以及 8 種回歸算法來執(zhí)行預(yù)測任務(wù)。我們的結(jié)果表明,隨機(jī)森林模型提供了卓越的性能,Spearman 相關(guān)性為 0.781,在 RMSE、MAE 和 MAPE 方面分別優(yōu)于基線隨機(jī)模型 82.9%、90.6% 和 94.4%。這項研究的意義將促進(jìn)研究并幫助從業(yè)者改進(jìn) Docker 構(gòu)建過程。
ASE 2021?
Refactorings and Technical Debt in Docker Projects: An Empirical Study?
Docker 項目中的重構(gòu)和技術(shù)債務(wù):實證研究
軟件容器,例如 Docker,最近被認(rèn)為是提供可重用軟件工件的主流技術(shù)。開發(fā)人員可以基于大量公開的可重用 Docker 鏡像輕松構(gòu)建和部署他們的應(yīng)用程序。因此,當(dāng)前業(yè)界的流行趨勢是應(yīng)用程序的容器化。然而,基于容器的項目會損害不同的組件,包括 Docker 和 Docker-compose 文件,以及組合不同容器并促進(jìn)與它們交互的源代碼的其他幾個依賴項。與任何其他復(fù)雜系統(tǒng)類似,基于容器的項目很容易出現(xiàn)與不同工件相關(guān)的各種質(zhì)量和技術(shù)債務(wù)問題:Docker 和 Docker-compose 文件以及常規(guī)源代碼文件。不幸的是,在基于容器的項目如何實際發(fā)展和維護(hù)方面存在知識差距。在本文中,我們通過研究重構(gòu)來解決上述差距,即在開源 Docker 項目中應(yīng)用的重構(gòu),即在保留行為的同時進(jìn)行結(jié)構(gòu)變化,以及它們緩解的技術(shù)債務(wù)問題。我們分析了 68 個項目,其中包括 19.5 個 MLOC,以及 193 個手動檢查的提交。結(jié)果表明,開發(fā)人員出于特定于容器的配置、組合和執(zhí)行的各種原因重構(gòu)這些 Docker 項目,與現(xiàn)有重構(gòu)領(lǐng)域相比,導(dǎo)致出現(xiàn)了幾種新的技術(shù)債務(wù)類別和重構(gòu)類型。例如,減少 Dockerfile 鏡像大小的重構(gòu)、提高 Docker-compose 文件的可擴(kuò)展性以及定期源代碼重構(gòu)等,主要與 Docker 和 Docker-compose 文件的演變有關(guān)。我們還分別引入了 24 個新的 Docker 特定重構(gòu)和技術(shù)債務(wù)類別,并定義了不同的最佳實踐。這項研究的意義將幫助從業(yè)者、工具構(gòu)建者和教育工作者提高 Docker 項目的質(zhì)量。
ASE 2018?
RUDSEA: recommending updates of Dockerfiles via software environment analysis
RUDSEA:通過軟件環(huán)境分析推薦 Dockerfile 更新
Dockerfile是docker鏡像的配置文件,它打包了軟件的所有依賴項,以方便軟件部署和移植。換句話說,dockerfiles 列出了軟件應(yīng)用程序構(gòu)建和/或執(zhí)行的所有環(huán)境假設(shè),因此當(dāng)環(huán)境假設(shè)在快速軟件演進(jìn)過程中發(fā)生變化時,它們需要經(jīng)常更新。在本文中,我們提出了 RUDSEA,這是一種基于分析軟件環(huán)境假設(shè)的變化及其影響向開發(fā)人員推薦 dockerfile 更新的新穎方法。我們對 1,199 個實際指令更新的評估表明,RUDSEA 可以為 78.5% 的更新推薦正確的更新位置,并為 44.1% 的更新推薦正確的代碼更改。(新思想短論文)