工程師看過來!麻省理工推出新工具CCC,程式碼移植變簡單了

Shutterstock
透過CodeCarbonCopy,開發人員可先選擇A軟體的一段程式碼,再選擇B軟體的插入點,系統就能自動進行必要的變更,妥善植入。

麻省理工學院(MIT)的科學家們已開發出了一款名為CodeCarbonCopy(CCC)的新工具,其中一名開發成員Stelios Sidiroglou-Douskos表示:「CodeCarbonCopy能夠實現軟體工程界夢寐以求的目標之一:自動重用程式碼。」

透過CodeCarbonCopy,開發人員可先選擇A軟體的一段程式碼,再選擇B軟體的插入點,系統就能自動進行必要的變更,如改變參數名稱等,以確保程式碼妥善的植入B軟體中。並且,在移植程式碼時,CodeCarbonCopy還能執行靜態分析,移除在A軟體中必要但在B軟體中毫無作用的功能。

CodeCarbonCopy之所以能夠做到這些,第一是有基本變量移植的能力,使用CodeCarbonCopy意味著從獲取和導入程式碼片段的兩個地方並行運行程式,CodeCarbonCopy可識別完成同一角色的變量,並為操作人員將它們列出來。它還顯示了無法匹配的變量,這樣一來,工程師可以手動關聯變量或者將變量從移植過去的程式碼去除。

另外,CodeCarbonCopy還能考慮兩個程式在內部是如何表示數據的,相應調整移植過去的程式碼。這參照了每個程式碼庫是如何處理數據的(比如在兩種不同的顏色格式RGB和BGR之間進行調整)、以什麼順序處理的。也正因如此,CodeCarbonCopy目前僅適用於在處理的數據採用固定格式的應用程序之間移植程式碼,比如圖像、影片、音頻、PDF及其他格式。

據悉,該工具還沒有正式對外發布,目前在內測和完善階段。研究團隊透露,他們已經成功使用CodeCarbonCopy在六款流行的開源圖像處理程序之間移植了程式碼。團隊進行了8次試驗,其中7次成功,接受端程序成功的執行了移植過去的程式碼,沒有錯誤。測試的軟體分別為:MPlayer、VLC、mtPaint、cwebp、bmp2tiff與ViewNIOR。

愛范兒

當然,這不是麻省理工學院(MIT)第一次試圖革編程界的命。此前,他們還設計開發了一款少兒編程工具Scratch。使用者可以不認識英文單詞,也可以不會使用鍵盤。構成程序的命令和參數透過積木形狀的模塊來實現,用滑鼠拖動模塊到程式編輯欄就可以了。

此外,MIT開放的圖像標註工具源程式碼LabelMe也是一款非常實用的圖像圖標輔助工具。眾所周知,計算機視覺需要用到大量的標註圖像,而這款工具能夠幫助用戶創建定制化標註任務或可執行圖像標註,從而提升效率。

愛范兒

本文授權轉載自:36 氪

追蹤我們