碼農福音!CASIL開發代碼移植系統,CTRL+C/V快速編程不再是夢想
問:對於碼農來說,有哪些可以提高開發效率的技巧?
答:Ctrl+C、Ctrl+V。
(圖片來源:知乎)
近日雷鋒網發現,麻省理工學院計算機科學與人工智慧實驗室(Computer Science and Artificial Intelligence Laboratory,CASIL)的一項新技術或將成為千百萬碼農的福音。他們開發了一個叫CodeCarbonCopy的系統,讓碼農可以將所需要的代碼直接移植到新的程序中。具體來說,程序員可以從第一個程序中選擇所需要的代碼,然後在第二個程序中選擇插入的位置,系統將會自動對代碼進行修改——例如,變數名等,使得代碼可以上下一致。
很厲害吧?這還沒完。更碉堡的是,該系統可以在不同程序的不同文件格式和數據結構中進行轉換。舉個栗子,不同的圖像處理程序可能會需要處理不同的文件格式,例如jpg、tiff或png等,在這個系統內部,它將會用單一的標準化方案表示這些圖像格式,儘管不同的程序可能會使用不同的方案,但這個系統會自動進行轉換,使得代碼真正實現「無縫對接」。
CASIL的研究者在ACM軟體工程基金會的研討會上展示了這一系統。他們使用CodeCarbonCopy在六個流行的開源圖像處理程序之間移植代碼,總共進行了八次這樣的代碼移植實驗,其中七次均取得了成功。
(在不同數據結構中找到對應關係,雷鋒網摘自相關論文)
使用CodeCarbonCopy將代碼從一個程序移植到另一個程序的第一步是,將這兩個程序都提供給相同的輸入文件。然後系統比較兩個程序如何處理該文件並自動推斷出這些變數在各自的程序中扮演著相同的角色,一旦它確定了變數之間的對應關係,CodeCarbonCopy即可進行相應的處理。如果在兩個程序代碼中找不到某些變數的匹配項或者這些變數的初始定義,用戶可以將這些變數進行標記,同時CodeCarbonCopy將自動從代碼移植中消除使用這些變數的操作。
CodeCarbonCopy適用於不同文件格式(例如圖像和數據存儲)。在圖像處理器中,這些程序基本上具備相同大小的存儲單元,而在下一步工作中,研究人員正在考慮將文件格式的方法概括為一種,使得程序可以更靈活的組織數據和使用除數組之外的數據結構(如樹或鏈表等)。
小結讓AI來自己編寫是近年來人工智慧的一個研究方向。如Deepmind開發的DeepCoder就會自己編程,但目前Deepcoder只能解決數行的代碼問題,而且在自動擬合的程序中可能會出現很多缺乏邏輯性的代碼,但CodeCarbonCopy這種可以大規模移植已有代碼的工具的出現,在減輕了碼農的負擔的同時或許也給他們帶來一絲擔憂:如果AI也學會用Ctrl+C和Ctrl+V編程,未來還真的是碼農們的對手呢。
論文地址:https://people.csail.mit.edu/rinard/paper/fse17.codecarboncopy.pdf
Via MIT,雷鋒網編譯
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※預測診斷阿爾茨海默症,雅森科技都踏過了哪些荊棘?
※光電行業老兵創辦Cepton,一年推出2款激光雷達,最遠檢測300米
※中國石油和化工行業人工智慧聯盟正式成立;餓了么入局無人值守零售,取名「e點便利」 | AI 掘金晚報
※世界第一個無人機快遞網路下月在瑞士運營 物品 30 分鐘內可達
※HTC:11億美元不是為了「輸血」,除了AR/VR還會投資其他領域
TAG:雷鋒網 |