[發(fā)明專利]代碼分析方法、裝置、電子設(shè)備及計算機(jī)可讀介質(zhì)在審
| 申請?zhí)枺?/td> | 202010161944.2 | 申請日: | 2020-03-10 |
| 公開(公告)號: | CN113377341A | 公開(公告)日: | 2021-09-10 |
| 發(fā)明(設(shè)計)人: | 王燁;周祥 | 申請(專利權(quán))人: | 阿里巴巴集團(tuán)控股有限公司 |
| 主分類號: | G06F8/10 | 分類號: | G06F8/10;G06F8/20;G06F11/36 |
| 代理公司: | 北京合智同創(chuàng)知識產(chǎn)權(quán)代理有限公司 11545 | 代理人: | 李杰;蘭淑鐸 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 代碼 分析 方法 裝置 電子設(shè)備 計算機(jī) 可讀 介質(zhì) | ||
本申請實施例提供了一種代碼分析方法、裝置、電子設(shè)備及計算機(jī)可讀介質(zhì),涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域。其中,所述方法包括:通過數(shù)據(jù)湖分析服務(wù),接收客戶端發(fā)送的代碼分析請求,其中,所述代碼分析請求用于指示基于攜帶的代碼分析需求信息進(jìn)行代碼分析;通過所述數(shù)據(jù)湖分析服務(wù),基于所述代碼分析需求信息,對代碼工程文件中的代碼進(jìn)行代碼分析,以獲得與所述代碼分析需求信息匹配的分析結(jié)果。通過本申請實施例,能夠既便捷又有效地對代碼工程文件中的代碼進(jìn)行代碼分析,進(jìn)而有效提升代碼工程文件中的代碼的開發(fā)效率和發(fā)布效率。
技術(shù)領(lǐng)域
本申請實施例涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種代碼分析方法、裝置、電子設(shè)備及計算機(jī)可讀介質(zhì)。
背景技術(shù)
大部分通用的大型代碼開發(fā)語言,都是為了解決復(fù)雜問題而誕生,而這些復(fù)雜問題通過一步步的抽象、解耦、模塊化等軟件工程的思路,被分離成一個個獨(dú)立的模塊,解決各種特點場景的問題,而隨著開源社區(qū)的發(fā)展,往往有大量的開源庫、開源代碼解決這些問題。軟件都是隨著業(yè)務(wù)需求不斷發(fā)展、不斷迭代的,所以出現(xiàn)了大量的版本。同時,開發(fā)者自身要面臨的業(yè)務(wù)場景也很復(fù)雜,也會做很多的模塊化拆分,引用各種不同的庫以及庫內(nèi)部的類、函數(shù)、方法等等,在實際工作中,開發(fā)者常常面臨很多庫依賴沖突方面的問題而痛苦不堪,無從選擇。例如,A庫和B庫同時依賴于C庫,但是各自依賴的版本不同,而兩個版本差異很大。某段代碼依賴了A庫的函數(shù)f,但是函數(shù)f的接口定義與代碼中的參數(shù)不一樣。此外,還有其它各種兼容性、同名沖突等問題。除了依賴沖突問題,還有其它很多語言分析上的需求。因此,如何有效地對代碼進(jìn)行分析成為需要解決的技術(shù)問題。
現(xiàn)有技術(shù)中,在Java這種非常通用的、面向?qū)ο蟮母呒壵Z言的使用場景中也經(jīng)常出現(xiàn)上述描述的各種問題,這甚至已經(jīng)成為Java語言的典型問題。Java是一種純粹的面向?qū)ο蟮恼Z言,通過運(yùn)行時來加載各種類庫和相關(guān)的依賴,因此在編譯期無法遇到,在運(yùn)行時總會遇到這種同名類沖突、不同版本的類中的方法簽名不同等問題。針對Java語言開發(fā)的代碼的分析的問題,在市面上存在一些代碼分析工具。這些工具屬于業(yè)界優(yōu)秀的工具,給開發(fā)者帶來很好的體驗。然而,作為工具它們存在一些不足之處,主要有:1、通過預(yù)處理過程構(gòu)建相關(guān)的內(nèi)存索引來加速分析占用大量的內(nèi)存資源和計算資源,預(yù)處理延時偏大,按需做解析和計算來獲取用戶想要的數(shù)據(jù)每次交互速度會很慢,體驗很差。2、很多工具并不免費(fèi)。3、這些工具只能運(yùn)行在個人計算機(jī)上,不能做到隨時隨地都可以執(zhí)行分析代碼。4、工具本身的分析能力是有限的。5、分析完的非常有價值的結(jié)果集不容易保存起來,分析數(shù)據(jù)的效果和價值打折扣。6、無法在一個流程中同時對多個工程文件做分析,從而很難做關(guān)聯(lián)分析。由此可見,如何既便捷又有效地對代碼進(jìn)行分析成為當(dāng)前亟待解決的技術(shù)問題。
發(fā)明內(nèi)容
本申請的目的在于提出一種代碼分析方法、裝置、電子設(shè)備及計算機(jī)可讀介質(zhì),用于解決現(xiàn)有技術(shù)中存在的如何既便捷又有效地對代碼進(jìn)行分析的技術(shù)問題。
根據(jù)本申請實施例的第一方面,提供了一種代碼分析方法。所述方法包括:通過數(shù)據(jù)湖分析服務(wù),接收客戶端發(fā)送的代碼分析請求,其中,所述代碼分析請求用于指示基于攜帶的代碼分析需求信息進(jìn)行代碼分析;通過所述數(shù)據(jù)湖分析服務(wù),基于所述代碼分析需求信息,對代碼工程文件中的代碼進(jìn)行代碼分析,以獲得與所述代碼分析需求信息匹配的分析結(jié)果。
根據(jù)本申請實施例的第二方面,提供了一種代碼分析裝置。所述裝置包括:第一接收模塊,用于通過數(shù)據(jù)湖分析服務(wù),接收客戶端發(fā)送的代碼分析請求,其中,所述代碼分析請求用于指示基于攜帶的代碼分析需求信息進(jìn)行代碼分析;分析模塊,用于通過所述數(shù)據(jù)湖分析服務(wù),基于所述代碼分析需求信息,對代碼工程文件中的代碼進(jìn)行代碼分析,以獲得與所述代碼分析需求信息匹配的分析結(jié)果。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴集團(tuán)控股有限公司,未經(jīng)阿里巴巴集團(tuán)控股有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010161944.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





