《4-連小利-需求工程分論壇-細粒度視角下的自然語言軟件需求分析-連小利-0525-晚.pdf》由會員分享,可在線閱讀,更多相關《4-連小利-需求工程分論壇-細粒度視角下的自然語言軟件需求分析-連小利-0525-晚.pdf(40頁珍藏版)》請在三個皮匠報告上搜索。
1、中國國際軟件質量工程峰會中國國際軟件質量工程峰會International Software Quality Engineering Forum細粒度視角下的自然語言軟件需求分析細粒度視角下的自然語言軟件需求分析北京航空航天大學 連小利2023年5月26日中國國際軟件質量工程峰會中國國際軟件質量工程峰會International Software Quality Engineering Forum1軟件需求描述的三級細化處理 段落描述-需求條目-語義要素2細粒度視角下的軟件需求分析 需求間關聯關系識別 跨層需求間追蹤關系的修正 需求條目間的模糊傳播 需求變更影響分析 需求生成CONTENTS目
2、錄2021 iSQE 中國國際軟件質量工程峰會中國國際軟件質量工程峰會International Software Quality Engineering Forum軟件需求描述的三級細化處理段落描述-需求條目-語義要素42021 iSQE 研究背景:描述粒度大研究背景:描述粒度大 軟件需求的管理要落實到每條需求軟件需求的管理要落實到每條需求 與工業合作伙伴合作中發現一個現象與工業合作伙伴合作中發現一個現象 軟件需求經常以段落化形式描述軟件需求經常以段落化形式描述 一個段落中常包含多個相關需求:描述粒度過大一個段落中常包含多個相關需求:描述粒度過大ISO/IEC/IEEE 29148:2018
3、(E)DO-178C52021 iSQE 研究背景:段落化描述舉例研究背景:段落化描述舉例Private individuals,private corporations or electrical power companies often onlyown a single wind turbine or a wind turbine cluster.The approach to operationand maintenance is based on remote supervision and monitoring of the windturbine(s)but the amount
4、 of operational data needed and the need for update ofdata is very moderate.The services will typically be based on a requestingsystem(dial-up)connected to the public telephone network.The need foradvanced functions is very modest,as the primary role of the wind turbine(s)isto produce as much electr
5、icity as possible.Normally only one or two parties areengaged in operation and maintenance of the wind turbine(s),typically the ownerand the operation and maintenance organisation,which in some cases is one andthe same.1.owing condition of users2.operation and maintenance way3.advanced function4.par
6、ties on operation and maintenance 62021 iSQE 研究背景:段落化描述舉例研究背景:段落化描述舉例問題問題1:不同需求間無明顯的分割符,理解成本大。不同需求間無明顯的分割符,理解成本大。問題問題2:無法進行精細化需求管理:任務劃分、對單條需求的追蹤、變更影響分析等:無法進行精細化需求管理:任務劃分、對單條需求的追蹤、變更影響分析等72021 iSQE 需求描述粒度大:解決方案需求描述粒度大:解決方案 兩階段需求條目化方法兩階段需求條目化方法DRIPDRIP 條目分割:綜合句子相似度和起承轉合關系條目分割:綜合句子相似度和起承轉合關系 分割優化:基于啟發式
7、規則分割優化:基于啟發式規則82021 iSQE 需求描述粒度大:解決方案需求描述粒度大:解決方案 兩階段需求條目化方法兩階段需求條目化方法DRIPDRIP 條目分割:綜合句子相似度和起承轉合關系條目分割:綜合句子相似度和起承轉合關系 分割優化:基于啟發式規則分割優化:基于啟發式規則92021 iSQE 實驗驗證結果實驗驗證結果2023/5/29結果類型pnnlstewardspuget soundwater useLibrarynlmlibra全部語句93%96%93%92.78%96%90.5%100%只考慮合并語句R.90%90%72.72%75.3%87.5%76%100%P.75%6
8、4.29%53.33%71.43%70%66.67%100%1010個公開需求集個公開需求集102021 iSQE 需求條目的語義要素定義需求條目的語義要素定義ISO/IEC/IEEE 29148:2018(E)EARS the shall The shall.When the shall.If ,then the shall.While the shall.Where the shall.特定模板的組合112021 iSQE 需求條目的語義要素提取需求條目的語義要素提取 對需求條目進行結構化處理便于機器自動處理對需求條目進行結構化處理便于機器自動處理 減少誤判減少誤判R1:當獲得仿真試驗數據
9、后,評估模型執行功能能夠按照評估:當獲得仿真試驗數據后,評估模型執行功能能夠按照評估模型中制定的評估流程,逐步執行計算模型和分析模型過程,模型中制定的評估流程,逐步執行計算模型和分析模型過程,最終生成最終生成AHP評估模型的評估結果。評估模型的評估結果。R2:評估報告生成功能能夠對:評估報告生成功能能夠對AHP評估模型的評估結果以評估模型的評估結果以柱狀柱狀圖、曲線圖、儀表圖圖、曲線圖、儀表圖等多種常見的圖形輸出到文檔中。等多種常見的圖形輸出到文檔中。需求間關聯不一定傳播變更追蹤關系構建追蹤關系構建122021 iSQE 需求條目的語義要素提取需求條目的語義要素提取2023/5/29需求描述結
10、構化定義需求描述結構化定義細粒度的需求描述模型:(觸發事件、執行者、動作、輸入、輸出、約束)(event,agent,operation,input,output,restriction)If a route contains a specific UAV_ID,the _SingleUAVFlightPlanScheduler_ shall assign the route to the given UAV.觸發事件執行者動作輸出輸入132021 iSQE 需求條目的語義要素定義需求條目的語義要素定義性能需求性能指標統計類型比較符數值單位可靠性需求可靠性指標比較符持續時間比較符概率功能需求觸
11、發事件執行者操作輸入輸出約束當獲得仿真試驗數據后,評估模型執行功能按照評估模型中制定的評估流程,逐步執行計算模型和分析模型過程,最終生成AHP評估模型的評估結果。觸發事件執行者約束輸出操作142021 iSQE 我們的結構化方法我們的結構化方法結構化算法流程152021 iSQE 需求條目的語義要素識別:實驗需求條目的語義要素識別:實驗 四個公開數據集四個公開數據集需求集名稱需求集名稱包含需求條數包含需求條數說明說明UAV99描述了一個無人機控制系統的功能GANNT93描述了一個基于語義關系圖進行自然語言需求內容知識提取的自動化系統的功能PURE136描述了歐洲列車控制系統的功能WORLDVI
12、STA347描述了一個由美國退伍軍人事務部開發的電子健康記錄和健康信息系統的各項功162021 iSQE 2023/5/29需求條目的語義要素識別:實驗需求條目的語義要素識別:實驗需求集名稱需求集名稱UAVGANNTPUREWORLDVISTA需求集總數需求集總數9993136347整體識別準確需求數整體識別準確需求數8378116286算法準確率算法準確率83.84%83.87%85.29%82.42%各元組識別準確率各元組識別準確率執行者執行者100%94.52%95.95%99.71%動作動作100%94.62%99.26%99.71%輸入輸入91.11%92.59%89.57%90.8
13、6%輸出輸出88.73%91.14%87.13%89.77%約束約束100%100%100%99.64%觸發事件觸發事件89.36%88.89%92.68%96.15%各元組識別平均準確率各元組識別平均準確率94.87%93.63%94.10%95.97%172021 iSQE 需求描述的三級語義細化:條目的語義要素識別需求描述的三級語義細化:條目的語義要素識別 自動識別自動識別需求的需求的細粒度語義要素細粒度語義要素 按照定義的規范,按照定義的規范,自動重寫自動重寫需求描述需求描述182021 iSQE 細粒度視角下的軟件需求分析 需求間關聯關系識別 跨層需求間追蹤關系的修正 需求條目間的模
14、糊傳播 需求變更影響分析 需求生成192021 iSQE 2023/5/29自然語言需求的細粒度語義分析(自然語言需求語句-結構化細粒度語義要素)需求關聯關系識別跨層需求追蹤識別需求變更影響分析需求模糊影響分析需求功能實體識別需求描述自動生成202021 iSQE 應用一:基于需求細粒度語義分析的需求關聯關系識別應用一:基于需求細粒度語義分析的需求關聯關系識別問題一:現有需求關聯分析粒度粗、變更影響范圍大。需求關聯關系僅有依賴等少數類型,且多依賴手工創建;有關聯即認為傳播變更,導致影響范圍不準。R1:當獲得仿真試驗數據后,評估模型執行功能能夠按照:當獲得仿真試驗數據后,評估模型執行功能能夠按照
15、評估模型中制定的評估流程,逐步執行計算模型和分析模評估模型中制定的評估流程,逐步執行計算模型和分析模型過程,最終生成型過程,最終生成AHP評估模型的評估結果。評估模型的評估結果。R2:評估報告生成功能能夠對:評估報告生成功能能夠對AHP評估模型的評估結果以評估模型的評估結果以柱狀圖、曲線圖、儀表圖柱狀圖、曲線圖、儀表圖等多種常見的圖形輸出到文檔中。等多種常見的圖形輸出到文檔中。需求間關聯不一定傳播變更212021 iSQE 問題二:現有需求關聯關系識別方法可擴展性弱,相關工具自動化程度低?,F有的需求管理工具僅支持一部分關聯類型。不允許用戶定制待識別的需求關聯關系類型。應用一:基于需求細粒度語義
16、分析的需求關聯關系識別應用一:基于需求細粒度語義分析的需求關聯關系識別222021 iSQE 需求間關聯關系 需求間沖突關系多樣表達 需求類型可擴展 關聯類型可擴展動態擴展應用一:基于需求細粒度語義分析的需求關聯關系識別應用一:基于需求細粒度語義分析的需求關聯關系識別232021 iSQE 我們的方案我們的方案定義描述語言定義描述語言支持用戶自定義支持用戶自定義需求語義要素元模型需求語義要素元模型+需求間關系識別規則需求間關系識別規則關系識別器關系識別器能夠自動地能夠自動地解析用戶輸入的定義解析用戶輸入的定義+根據定義識別需求間的關系根據定義識別需求間的關系需求關系識別依靠需求關系識別依靠 需
17、求要素元模型需求要素元模型 和和 關系識別規則關系識別規則可擴展性:可擴展性:模型模型和和規則規則思路思路方法方法242021 iSQE 描述語言設計描述語言設計252021 iSQE 應用場景應用場景262021 iSQE 將描述語言的文檔將描述語言的文檔動態轉化動態轉化為可執行模塊為可執行模塊關系識別規則要素描述文檔272021 iSQE 實驗設計實驗設計目標:驗證正確性目標:驗證正確性需求要素元模型:單一類型單一類型(功能需求)關系識別規則:同類需求之間同類需求之間的關系目標:驗證正確性目標:驗證正確性+可擴展性可擴展性需求要素元模型:單一需求類型-多種類型多種類型關系識別規則:同類需求
18、間 不同類型間不同類型間目標:驗證正確性目標:驗證正確性+可擴展性可擴展性使用需求研究領域的業界成果業界成果進行驗證使用描述語言表達他人的研究成果他人的研究成果實驗一實驗一實驗二實驗二實驗三實驗三擴展現有研究成果業界他人研究成果292021 iSQE 工具:需求關聯關系展示界面工具:需求關聯關系展示界面2023/5/29302021 iSQE 工具:變更影響分析界面工具:變更影響分析界面2023/5/29312021 iSQE 應用二:需求模糊傳播影響分析應用二:需求模糊傳播影響分析R1:A system may be able to modify the description file.R
19、2:B subsystem shall create detailed structure file based on the description file.交互關系交互關系模糊傳播模糊傳播輸出輸入存在模糊322021 iSQE 2023/5/29應用二:需求模糊傳播影響分析應用二:需求模糊傳播影響分析模糊詞檢測模糊范圍檢測This model aims at establishing open systems operation and implies standards-based implementation.This model aims at establishing open
20、systems operation and implies standards-based implementation.This model aims at establishing open systems operation and implies standards-based implementation.單條需求的模糊檢測根據語義角色確定在需求間傳播范圍332021 iSQE 前提前提-依賴依賴 若:R1是R2的前提 則:當R1的操作中檢測到模糊性時,該模糊傳播到R2中交互交互 若:R2的輸出是R1的輸入 則:當R2的輸出中檢測到模糊性時,該模糊傳播到R1中模糊傳播規則模糊傳播規則
21、應用二:需求模糊傳播影響分析應用二:需求模糊傳播影響分析342021 iSQE 應用二:軟件需求的模糊檢測原型工具應用二:軟件需求的模糊檢測原型工具 給出需求描述中的給出需求描述中的模糊詞與模糊范圍模糊詞與模糊范圍,并以顏色區分,并以顏色區分 給出給出模糊在需求間的傳播模糊在需求間的傳播范圍范圍352021 iSQE 應用三:需求功能實體提取應用三:需求功能實體提取需求功能實體需求功能實體 軟件系統的功能對象,即軟件系統要實現或增強的范圍和功能。與功能有關的名詞或名詞詞組。用于基于需求的成本估算、需求完整性檢測等工作中2023/5/29示例:在上海市交通管理系統中,需要通過對車輛顏色、車型特征
22、進行識別,來提供車輛分類功能、車輛計數功能。領域模型:關注“概念”、“專業術語”上海市交通管理系統、車輛顏色、車型特征、車輛分類功能、車輛計數功能需求功能實體模型:關注“功能對象”車輛分類功能、車輛計數功能362021 iSQE 應用三:基于細粒度語義要素的需求功能實體提取應用三:基于細粒度語義要素的需求功能實體提取需求功能實體與需求結構化元組之間存在關聯(主體、輸入、輸出)需求功能實體與需求結構化元組之間存在關聯(主體、輸入、輸出)2023/5/29獲取通用知識階段注入結構化信息階段主動學習階段11MLPagent input output CRFBERT捕捉結構化信息通過embedding
23、層得到連續向量、級聯向量通過MLP計算每個單詞的概率=,輸入到CRF層中372021 iSQE 應用三:基于細粒度語義要素的需求功能實體提取應用三:基于細粒度語義要素的需求功能實體提取在在1111個公開數據集上證明結構化信息的加入能顯著提高需求功個公開數據集上證明結構化信息的加入能顯著提高需求功能實體的識別效果能實體的識別效果2023/5/29訓練模式PrecisionRecallF1RFEEAMLP0.44720.52140.4815RFEEA0.71630.69780.7069382021 iSQE 目前大熱的代碼自動生成工作目前大熱的代碼自動生成工作提示文本提示文本promptpromp
24、t也是一種需求!也是一種需求!2023/5/29392021 iSQE 2023/5/29當前代碼自動生成工作尚不完美:當前代碼自動生成工作尚不完美:到底有什么問題呢?到底有什么問題呢?研究成果復現研究成果復現數據標注與分析數據標注與分析特征提取特征提取實驗驗證實驗驗證 生成方法復現 Metrics評估 一致性分析 生成質量評估 數據集分層 人工標注 主題分析 迭代討論分析 數據集直接驗證 統計檢驗 多數據集綜合觀察402021 iSQE 發現發現頻數最高的問題:頻數最高的問題:PromptPrompt中關鍵語義信息未被捕捉到(中關鍵語義信息未被捕捉到(41.10%41.10%)不精確的需求描
25、述(不精確的需求描述(31.3%31.3%)語義不完整 模糊 Prompt與標準答案不一致PromptPrompt太復雜太復雜(17.14%17.14%)2023/5/29Prompt:Concatenate elements of list b by a colon:Answer:.join(str(x)for x in b)CodeT5:x for x in b if x.startswith(:)UnixCoder:b=b.split(:,1)1 CodeRL:b.append(:)Thank you Thank you 中國國際軟件質量工程峰會中國國際軟件質量工程峰會International Software Quality Engineering Forum