The invention discloses a method for automatically generating API documents based on constraints, which comprises the following steps: first enter a description of URL; text extraction of classes and functions in the web page; analyzed the extracted sentences; and then use the NLP technology to build a tree structure for each sentence; among the parameters and the structure of the spanning tree identification of a tree structure representation; intermediate representation constraint definition template based on the corresponding constraint; finally automatically traverse the tree structure; the main feature of the invention is to automatically generate the API function through the API document constraints, understanding API function convenient programmers better, and can make up for the lack of existing code analysis tools API function. The code analysis tool can better analyze the source code.
【技術實現步驟摘要】
一種基于API文檔的約束自動生成方法
本專利技術設計一種基于API文檔的約束自動生成方法。
技術介紹
隨著軟件行業的快速發展,軟件功能越來越強大,代碼結構愈加復雜。一些技術人員為了提高軟件的開發效率,實現了大量的類庫。這些類庫封裝了的模塊化函數,隱藏了特定平臺的實現細節,軟件開發人員在開發過程中直接使用這些類庫,可以省去某些底層細節或功能的現實,提高開發質量和效率。然而這些類庫的使用使得軟件分析變得更加困難。因為在軟件分析過程中,避免不了對這些類庫進行分析,但這些類庫的源碼大部分是無法使用的。類庫在實現過程中可能混合許多語言,而且通常進行過高度優化并包含大量的專業化工程技巧,目前的軟件分析工具不能對其解析。現今已有許多工作對類庫進行分析,但由于類庫源碼的復雜性,效果并不理想。通過對API(ApplicationProgrammingInterface)調研,發現API文檔對函數的功能描述十分完整、簡介,通過文檔提取API函數性質存在可行性。然而由于需要精確的語言分析方法來分析API文檔,這項工作仍然具有挑戰性。
技術實現思路
本專利技術的目的,鑒于以上問題,本專利技術旨在提供一種基于API文檔的約束自動生成方法,該方法結合NLP技術,構建轉換原語,實現API文檔到約束的自動生成,從而方便程序員理解API函數,并幫助軟件分析工具分析源代碼。技術方案:一種基于API文檔的約束自動生成方法,包括步驟:步驟1:將API網站中對每個類的描述網頁的URL作為輸入;步驟2:提取網頁中類及其所有成員函數,以及各個成員函數的文檔描述信息;步驟3:對提取的文字信息進行預處理,去除 ...
【技術保護點】
一種基于API文檔的約束自動生成方法,其特征在于:包括步驟:步驟1:將API網站中對每個類的描述網頁的URL作為輸入;步驟2:提取網頁中類及其所有成員函數,以及各個成員函數的文檔描述信息;步驟3:對提取的文字信息進行預處理,去除冗余的句子,并將同義詞進行歸類;步驟4:使用NLP技術對步驟3處理后的文字信息進行分析,生成對應的樹結構;步驟5:識別步驟4得到的樹結構中的參數和結構生成樹的中間表示形式;步驟6:根據步驟5得到的所有中間表示形式提取樹模式,為所有樹模式分別定義約束,構建約束模板;步驟7:遍歷API函數對應的的中間表示形式,識別其中的樹模式,根據步驟6定義的模板,將API函數轉換成相應的約束。
【技術特征摘要】
1.一種基于API文檔的約束自動生成方法,其特征在于:包括步驟:步驟1:將API網站中對每個類的描述網頁的URL作為輸入;步驟2:提取網頁中類及其所有成員函數,以及各個成員函數的文檔描述信息;步驟3:對提取的文字信息進行預處理,去除冗余的句子,并將同義詞進行歸類;步驟4:使用NLP技術對步驟3處理后的文字信息進行分析,生成對應的樹結構;步驟5:識別步驟4得到的樹結構中...
【專利技術屬性】
技術研發人員:張天,潘敏學,吳少博,姜人和,陳鑫,李宣東,
申請(專利權)人:南京大學,
類型:發明
國別省市:江蘇,32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。