當前位置:
首頁 > 科技 > MIT工具讓程序員可以在不兼容的項目之間移植源代碼

MIT工具讓程序員可以在不兼容的項目之間移植源代碼

麻省理工學院(MIT)的科學家們已開發出了一款名為CodeCarbonCopy(CCC)的新工具,這款工具可自動將代碼從一個項目移植到另一個項目,對應標註差異之處,讓移植過去的代碼適用於新的代碼庫。

這款工具還沒有公開發布,因為研究人員仍在竭力改進和完善,但他們在內測環境下已測試成功。

據研究團隊聲稱,他們使用CodeCarbonCopy,在六款流行的開源圖像處理程序之間移植了代碼。該團隊進行了8次試驗,其中7次成功,接受端程序成功地執行了移植過去的代碼,沒有錯誤。

CodeCarbonCopy的結果

CodeCarbonCopy對應標註不同項目之間的代碼

CodeCarbonCopy之所以能夠做到這點,是由於其兩項固有功能。第一項功能是,代碼從一個代碼庫移植到另一個代碼庫時,它能夠檢測並對應標註變數。

使用CodeCarbonCopy意味著從獲取和導入代碼片段的兩個地方並行運行程序。

CodeCarbonCopy可識別完成同一角色的變數,並為操作人員將它們列出來。它還顯示了無法匹配的變數,那樣程序員可以手動關聯變數或者將變數從移植過去的代碼去除。

CodeCarbonCopy只是最適用於某個類別的應用程序。

此外,除了基本的變數移植外,CodeCarbonCopy還能考慮兩個程序在內部是如何表示數據的,相應調整移植過去的代碼。這參照了每個代碼庫是如何處理數據的(比如在兩種不同的顏色格式RGB和BGR之間進行調整)、以什麼順序處理的。

正因為如此,CodeCarbonCopy目前僅適用於在處理的數據採用固定格式的應用程序之間移植代碼,比如圖像、視頻、音頻、PDF及其他格式。研究團隊正在繼續改進CodeCarbonCopy,以便它可以處理更麻煩、更雜亂的格式。

CodeCarbonCopy項目的成員之一斯特利奧斯?西德羅格洛-道斯科斯(Stelios Sidiroglou-Douskos)說:「CodeCarbonCopy能夠實現軟體工程界夢寐以求的目標之一:自動重用代碼。」

這不是MIT第一次試圖革編程界的命。2016年1月,MIT攜同Adobe公司宣布了Project Helium(http://projects.csail.mit.edu/helium/),這個項目旨在幫助廣大開發人員更新較舊的軟體代碼庫,以便在現代硬體上運行,竭力消除軟體腐爛(software rot)現象,這個現象又叫比特腐爛(bit-rot)。

兩個月後,MIT宣布了一種新的演算法:Polaris,該演算法將在線網站的頁面載入時間最多可以縮短34%。

CodeCarbonCopy是MIT的計算機科學和人工智慧實驗室(CSAIL)的傑作。科學家們在今年9月初於德國召開的ESEC/FSE 2017大會上介紹了這一成果(https://people.csail.mit.edu/rinard/paper/fse17.codecarboncopy.pdf)。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲頭條 的精彩文章:

印度科技行業里程碑:IBM印度員工總數超過美國
AWS vs Azure vs 谷歌云:市場份額、2017年縱覽

TAG:雲頭條 |