歡迎進入凱鼎電子官網
語言選項
中文版 English

人工智能有望從根本上改變軟件開發

發布時間:2019-05-21 ???? 點擊:

新工具和尖端項目展示了機器學習和高級分析將如何徹底改變軟件的設計、測試和部署方式。

我們正在進入特斯拉人工智能主管Andrej Karpathy所謂的“軟件2.0”的時代,在這個時代里,神經網絡會編寫代碼,而人們的主要工作是定義任務,收集數據和創建用戶界面。

但并非所有任務都可以通過神經網絡來解決(至少現在還不行),而傳統的軟件開發仍然可以發揮作用。然而,即便如此,人工智能、機器學習和高級分析正在改變軟件的設計、編寫、測試和部署方式。

總部位于巴西的TOTVS為大約100,000名企業客戶提供關鍵的行業軟件。例如,其金融服務解決方案每天處理數萬億美元的交易。

此類應用需要得到強有力的測試。創建測試用例的人必須非常慎重地考慮如何設計測試場景,每個測試場景都要花幾個小時來創建。

 

每個測試用例都必須定制化,以適合用戶界面。應用程序不斷得到重新設計,因此界面也總是在變化。如果平臺本身發生了變化(例如更新到更新版本的javaScript時),所有設計元素都會立即發生變化。

“不妨想象一下重寫成千上萬用例的情景。”

因此TOTVS向人工智能求助。TOTVS使用Functionalize這個測試平臺,該平臺現在支持測試用例的智能創建。該技術可以像人一樣查看屏幕,從而能識別輸入字段和按鈕的位置,而不是依賴于底層代碼。它還可以提供測試場景和樣本數據來對應用程序進行壓力測試。

“以前,高級質量保證人員需要花一天的時間來完成我們所使用的傳統解決方案中的測試用例,現在,他們可以在幾分鐘內創建相同的測試用例。”

“你可以命令它測試要測試的東西,它會自動為你創建一個測試用例。這為我們指明了新的方向。我們不再需要那么多高級質量確認人員來測試用例。”

即使軟件通過了質量確認,它也并不總是按預期發揮效用。“就在今天早上,我們獲得了一些已經得到采用的產品數據,而網站尚不能處理這些數據”。

我們花了數百小時來監控Build.com軟件的性能,當問題出現時,公司將軟件恢復到之前已知的良好狀態,并將其發送給開發人員以解決問題。

“我們面臨的問題是,我們編寫的軟件變得非常復雜,流量太大,大到任何人都無法查看現有的所有監控系統,哪怕是一群人也做不到,他們會說,‘一切都很好’或‘一切都很糟糕,該做點事情了’,軟件耗費了太多時間并放慢了發布速度。我們無法以足夠快的速度為客戶創造價值,我們也沒有以足夠快的速度向開發人員反饋必須得到補救的事情。”

“我們實際上還沒有能寫代碼的代碼,但人工智能和機器學習在開發方面大有裨益,這實際上關系到我們是否理解常見模式的好壞利弊。它可以突顯這是一個異常現象,我們可以回過頭來對其進行修復。”

還希望有更多能利用人工智能的工具相繼問世,從而一開始就能幫各大公司編寫更好更安全的代碼。

“這就是我們真心希望在開發方面使用人工智能和機器學習的領域——加強這些領域,這些領域人手不足,無法解決問題,比方說,你的代碼庫有數百萬行代碼。你要用多少人來審計這數百萬行代碼?我們需要的是可擴展的解決方案。”

“他們正在引入某些系統,這些系統將監控你的代碼并向你發出提醒,讓你知道我們使用的第三方庫中可能存在的漏洞。”

“我們正致力于創建各種模型,這些模型能為常見漏洞和暴露發現(exposures discovery)提供支持。”

Berry說,GitHub剛剛發布了一個工具,這個工具可以幫開發人員發現他們在代碼中意外共享令牌的位置。

Miller說,GitHub還致力于開發“幫開發人員以自然方式發現功能的工具”,有了人工智能,開發人員就可以根據自己的意圖搜尋各種功能。

Miller說:“由于在GitHub的開源編碼平臺上使用大量公開代碼,機器學習研究團隊在實現這一目標方面取得了重大進展。有了語義代碼搜索的功能,開發人員就可以增加和簡化計算方面解決問題的需求。”

Miller說,這就是說,開發人員將不再受自身認知的限制,“他們可以利用存儲在GitHub上的所有代碼知識來幫忙解決問題。”人工智能技術也出現在靜態和動態軟件分析工具中。

“機器學習的功能已經很豐富了,比18個月前更加豐富。神經網絡漸漸得到了應用。如今,與其說這是靜態分析,不如說是動態分析,但由人工智能驅動的動態分析將在未來幾年出現。”

然而,就從頭開始編寫新代碼而言,當前的技術還有待改進。

“現在我們可以使用一些現成的系統,如你的集成開發環境,但這更像內置模板剪切粘貼得來的。”

但情況開始發生變化。最受歡迎的集成開發環境(微軟的Visual Studio)在4月發布的最新版本中內置了人工智能代碼自動完成功能。微軟Visual Studio IntelliCode的高級項目經理Mark Wilson-Thomas表示,該功能基于數千個開源的GitHub存儲庫提供的機器學習。

以Mendix為例,該公司在長達十年的時間里一直提供積木式的系統,這些系統可以用來創建各種應用程序。開發人員將平臺上各種可用的功能集中在一起,當這些功能不夠用時,他們就使用外部代碼。如今,該公司創建了一個深度學習系統來分析這些模型,考察這些模型在生產中的表現,看看哪些模型是最管用并據此來識別各種模式。

Deloitte Cyber的應用程序安全負責人VikramKunchala說,IT部門依然十分抗拒這些平臺,而業務方又缺乏信心。

“此刻,對平臺的采用似乎更像是好奇心使然。企業正在一點點進行對這些平臺進行試驗。又或者是他們不得不盡快落實——我們已經見過這種情況了。但我沒有看到哪個客戶將其視作我所了解的企業標準。”

但最大的變化是,企業開始使用與傳統代碼毫無聯系的應用程序。

比如說,你想創建一個玩三子棋(TIc-Tac-Toe)的應用程序。你可以編寫規則和游戲策略。對手怎么做,你就怎么做。開發人員的工作是選擇正確的策略并創建驚艷的用戶界面。

如果以擊敗人類棋手為目的,那么這種策略適用于三子棋、跳棋、甚至是國際象棋。但是對于圍棋等更高難度的棋類競技,創建規則并不容易。這時深度學習和神經網絡等人工智能技術就登臺亮相了,這些技術徹底改變了軟件開發流程。

開發人員不是從制定規則開始,而是從收集數據開始——大量的棋類競技。谷歌根據人類棋手下的大量棋局來訓練系統。由于有了最新的AlphaGo Zero,訓練數據來自系統與自身對弈的棋局,始于隨機下子。

只要培訓數據清晰且充分,而且評估其好壞的標準也十分明確,那么這種方法就有可能徹底改變軟件開發。如今,開發人員必須努力管理培訓數據和評估標準并讓系統來編寫代碼,而不是弄懂對弈規則并編寫對弈規則。

,穿越隧道的車輛缺乏訓練數據,特斯拉必須上路實測,獲得更多數據,對這些數據進行注釋,將其添加到訓練數據集并重新運行深度學習算法。

“我們通過這種方法使所有問題看起來都一個樣子。”

傳統的發展仍有生存空間,目前,這些系統的用戶界面是手動創建的,與其他平臺的集成也仍然是手動完成的。

但隨著越來越多的公司向人工智能求助,用于那些有大量可用數據和其他低代碼平臺的應用程序,那么軟件開發的工作將在不久的將來發生巨大變化。

上一篇:自動駕駛汽車對交通有何影響
下一篇:“機器人+5G” 碰撞新火花 為智慧場景服務創新賦能
深圳市興凱鼎電子有限公司

地址:深圳市龍華區東環一路天匯大廈B棟1028室

QQ:2775887586 ? ? ? ? ? TEL:0755-83422736

技術支持:凱鼎電子???粵ICP備16123236號-1

? 2010-2017 K-DING ELECTRONIC CO.,LTD All rights reserved.

久久99国产精品久久99,久久精品免费一级,欧美日韩激情综合一区二区不卡,九九99久久精品少妇
亚洲中文字幕精品一区二区三区 | 亚洲欧美日韩中文二区 | 亚洲天堂午夜影院在线观看 | 一级A爱做片免费观看国产 香蕉精品偷在线观看 | 无遮挡国产高潮视频免费观看 | 五月天精品视频在线观看 |