[發(fā)明專利]一種應用程序開發(fā)方法、裝置、電子設備和存儲介質有效
| 申請?zhí)枺?/td> | 202010192690.0 | 申請日: | 2020-03-18 |
| 公開(公告)號: | CN112748914B | 公開(公告)日: | 2023-09-19 |
| 發(fā)明(設計)人: | 梁宇軒 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41;G06F8/65;G06F8/72 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 李娟 |
| 地址: | 518044 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用程序 開發(fā) 方法 裝置 電子設備 存儲 介質 | ||
1.一種應用程序開發(fā)方法,其特征在于,該方法包括:
獲取預設類型的應用程序編程接口API的接口文檔,并基于所述接口文檔中定義的接口信息,分析得到所述API對應的功能描述信息;
將所述功能描述信息輸入已訓練的語法編譯模型,獲得基于目標編譯語法翻譯得到的與所述功能描述信息對應的使用方法;所述目標編譯語法為通過機器學習得到的通用型編譯語法;
根據所述使用方法預生成各個平臺下調用所述API時對應的平臺代碼;
根據各個平臺對應的平臺代碼整合構建所述API的目標源代碼,以基于所述目標源代碼開發(fā)應用程序;所述目標源代碼為可運行于所述各個平臺的種子源代碼。
2.如權利要求1所述的方法,其特征在于,所述獲取預設類型的API的接口文檔,并基于所述接口文檔中定義的接口信息,分析得到所述API對應的功能描述信息,包括:
通過爬蟲爬取任意一個平臺下所述預設類型的API的接口文檔;
通過分析所述接口文檔中定義的接口信息,獲得所述API對應的功能描述信息。
3.如權利要求1所述的方法,其特征在于,所述語法編譯模型是通過已標注功能函數預期運行結果的訓練樣本訓練得到的,所述訓練樣本包含功能函數的功能描述信息。
4.如權利要求1所述的方法,其特征在于,通過下列方式訓練得到所述已訓練的語法編譯模型:
從訓練樣本數據集中選取至少一個訓練樣本,其中所述訓練樣本上標注有功能函數的預期運行結果;
將所述至少一個訓練樣本包含的功能描述信息輸入未訓練的語法編譯模型,獲得所述功能描述信息對應功能函數的實際運行結果;
通過優(yōu)化算法對所述語法編譯模型中的參數進行優(yōu)化,使得每個訓練樣本標注的預期運行結果與通過語法編譯模型得到的實際運行結果一致為止,得到所述已訓練的語法編譯模型。
5.如權利要求4所述的方法,其特征在于,通過下列方式生成所述訓練樣本數據集,包括:
獲取各個平臺應用的源代碼,并將所述源代碼按照文件類型拆分為至少一個源代碼文件;
針對任意一個源代碼文件,提取所述源代碼文件中的各個功能函數;
將各個平臺下具有相同函數功能的功能函數通過相應平臺對應的語法庫進行翻譯,得到相同函數功能的各個功能函數在各個平臺下的接口文檔;
將各個接口文檔進行對比整合,得到具有所述函數功能的功能函數對應的功能描述信息;
根據各類函數功能的功能函數對應的功能描述信息,生成所述訓練樣本數據集。
6.如權利要求1~5任一所述的方法,其特征在于,所述根據各個平臺對應的平臺代碼整合構建所述API的目標源代碼,包括:
將各個平臺代碼分別輸入虛擬機,通過虛擬機模擬運行所述各個平臺代碼得到應用運行結果;
若所有平臺代碼對應的應用運行結果正確,則通過編譯器將所述各個平臺代碼翻譯為中間語言;
通過公共語言運行庫將翻譯得到的中間語言進行整合,生成所述API對應的目標源代碼。
7.如權利要求6所述的方法,其特征在于,所述方法還包括:
若任意一個平臺代碼對應的應用運行結果錯誤,則確定根據應用運行結果確定所述平臺對應的獨立API;
根據所述平臺對應的語法庫,生成所述獨立API對應的獨立源代碼;
將所述獨立源代碼添加到所述API對應的目標源代碼中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202010192690.0/1.html,轉載請聲明來源鉆瓜專利網。
- 商品開發(fā)方法、商品開發(fā)系統(tǒng)、商品開發(fā)程序以及存儲商品開發(fā)程序的存儲介質
- 開發(fā)支援裝置和開發(fā)支援程序
- 用于web開發(fā)系統(tǒng)的開發(fā)方法和web開發(fā)系統(tǒng)
- 控制裝置、開發(fā)裝置、以及開發(fā)程序
- 系統(tǒng)開發(fā)裝置、程序開發(fā)方法及開發(fā)程序
- 軟件開發(fā)平臺及其開發(fā)方法
- 菜譜開發(fā)方法和菜譜開發(fā)系統(tǒng)
- EasyApp移動開發(fā)平臺和開發(fā)方法
- 開發(fā)支援裝置、開發(fā)支援方法以及存儲介質
- 開發(fā)輔助裝置、開發(fā)輔助系統(tǒng)和開發(fā)輔助方法





