《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 市場分析 > 科研人員研發(fā)出能幫電腦自動寫代碼的工具

科研人員研發(fā)出能幫電腦自動寫代碼的工具

2014-11-19

當你打開谷歌輸入想要搜索的事物時,它總會自動猜想你可能尋找的關(guān)鍵詞。輸入Wi它可能自動聯(lián)想Wikipedia(維基百科),輸入Bra它會聯(lián)想到 Brad Pitt(布拉德·皮特)。有時候這些自動填寫可能與你想要搜索的完全不相關(guān),但大多數(shù)情況它還是非常準確的,這為你的搜索提供了捷徑。

現(xiàn)在一支政府支持的科研小組想要為全世界的程序員在編寫計算機代碼時提供相似的提示,也即在程序員完成編碼前猜想它們想要編碼的內(nèi)容。美國萊斯大學(xué)于本周表示,作為五角大樓的瘋狂科學(xué)部門,美國國防部先進研究計劃署(DARPA)對這個代號為PLINY的自動填寫編碼項目投資了1100萬美元,這一項目是以第一部百科全書的古羅馬作者為名。“文字搜索預(yù)測是描述這一項目的最好比喻,”萊斯大學(xué)計算機科學(xué)學(xué)院院長、PLINY項目首席調(diào)查員維韋克·薩卡爾(Vivek Sarkar)這樣說道。“人們將能夠從一系列可能的解決方案中進行挑選。”

這一項目包含來自萊斯大學(xué)、德克薩斯州大學(xué)奧斯汀分校、威斯康星大學(xué)麥迪遜分校以及源代碼分析工具制造商GrammaTech公司的研究人員。PLINY將從網(wǎng)頁里收集到的大量開源代碼編入索引,從而形成一個強大的預(yù)測引擎,研究人員希望它可以預(yù)測編碼人員將輸入的代碼。從理論角度說,它應(yīng)該可以檢測漏洞或者安全隱患。

如果這一項目順利進行,那么它或?qū)槟切┱也坏胶细癯绦騿T參與研究日益復(fù)雜的軟件項目的公司帶來福音。這是大量初創(chuàng)企業(yè),從趣味編程網(wǎng)站Codecademy 到試圖讓編程變得更簡單的工具Light Table,都試圖解決的問題。

PLINY并不是第一個旨在為程序員建立自動填寫系統(tǒng)的項目。微軟正在利用去年發(fā)布的插件Bing開發(fā)助理進行相似的研究。然而,薩卡爾表示PLINY是一個更雄心勃勃的項目。“大多數(shù)其它項目都是利用代碼結(jié)構(gòu)的知識進行文字分析。”而薩卡爾帶領(lǐng)的研究小組試圖開發(fā)的軟件不僅可以分析文字,還會分析代碼里所表達的概念,無論程序員所編寫的是哪一種程序語言。薩卡爾希望PLINY可以自動提示與提供程序員編寫內(nèi)容無縫結(jié)合的代碼,它甚至可以糾正安全隱患和其它錯誤。

然而,這并非易事。如果你曾有過使用微軟Office 97時代的Clippy(大眼夾)輔助工具的經(jīng)歷,或者瀏覽過“該死的自動更正”(Damn You Autocorrect)博客,你就會意識到糾正這些預(yù)測系統(tǒng)有多困難。雖然谷歌是部分通過了解最常見的搜索術(shù)語從而實現(xiàn)預(yù)測搜索關(guān)鍵詞,但在編程世界里情況則有所不同。最常見的解決方案可能并不是最優(yōu)的解決方案。

薩卡爾承認他們的科研小組面臨著巨大的挑戰(zhàn),尤其是確保高質(zhì)量的代碼和可用性方面。但他認為鑒于為能源部和健康保健領(lǐng)域的其它應(yīng)用程序做過大數(shù)據(jù)分析的背景,他的研究小組正是迎接這一挑戰(zhàn)的最佳人選。他表示萊斯大學(xué)一直想要將部分機器學(xué)習(xí)算法應(yīng)用于軟件開發(fā),DARPA恰好提供了實現(xiàn)途徑。

PLINY小組將首先分析網(wǎng)絡(luò)上的開源代碼,主要是利用例如GitHub和 Sourceforge提供的代碼托管服務(wù),同時還將分析各種重大的開源項目,例如Apache基金會管理的一些項目。最終,薩卡爾設(shè)想了一個可以索引企業(yè)所有專有軟件項目的企業(yè)版本。

研究小組還將建立一個為存儲和分析代碼專門設(shè)計的自定義數(shù)據(jù)庫系統(tǒng)。這個數(shù)據(jù)庫將提供對索引代碼進行組織和劃分優(yōu)先級的途徑。這將幫助解決代碼質(zhì)量問題。那些非常好的項目可以優(yōu)先考慮,或者由特定程序員編寫的代碼也具有優(yōu)先級。項目的最終成果可能類似于谷歌的自動填寫,但有用性要高得多。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。