本發明專利技術公開了一種線性時態邏輯規范的通用并行挖掘方法,該方法包括:預處理步驟、規范實例生成步驟、規范實例驗證步驟、結果篩選步驟。其中,預處理步驟實現對日志文件進行分割處理,獲取日志中出現的事件集合,并收集這些事件在日志中的出現位置信息;規范實例生成步驟,利用輸入的規范模板,結合日志中的事件集合,生成具體的線性時態邏輯規范實例。規范實例檢驗步驟,負責利用預處理后的事件位置信息,計算規范實例在日志中的支持度、置信度;結果篩選步驟,負責對挖掘的結果集合進行篩選,去除支持度、置信度不符合挖掘要求的規范實例。該挖掘方法充分利用了多線程技術進行并行計算,能夠高效地挖掘任意類型的線性時態邏輯規范。
【技術實現步驟摘要】
一種線性時態邏輯規范的通用并行挖掘方法
本專利技術涉及一種計算機
,尤其是模型檢測領域中的線性時態邏輯的規范挖掘技術,具體涉及一種線性時態邏輯規范的通用并行挖掘方法。
技術介紹
與其他工程產品不同的是,軟件產品在其整個生命周期中會不斷地變化演進。而在對軟件進行維護、更新的過程中,為保持系統原有功能的正確性,維護人員通常需要付出極大的努力。據統計,軟件的維護成本占據了軟件開發成本的90%。因此,研究如何降低軟件維護成本具有十分現實的意義。而軟件維護成本之中的絕大部分,都源于對遺留源代碼理解吸收所產生的成本。有研究表明,為理解原有代碼付出的代價超過了總維護代價的50%。通常,開發人員會選擇閱讀軟件規范文檔來輔助軟件程序的理解。然而,在許多企業中,開發人員迫于市場應用的時效性,疏忽了規范文檔的編寫與維護,以至于很大部分的軟件規范文檔并沒有隨著軟件程序的演化得到及時的更新。這樣,經過若干次演化周期,最新版本的軟件程序早就與原始的規范文檔大相徑庭。因此,如何及時地更新軟件規范,成為了一個值得探索的問題。另外,為了保證軟件系統的正確性,人們提出了模型檢測技術。例如申請號為201510395404.X,專利技術名稱為安全交換協議模型檢測方法的中國專利技術專利,公開了一種安全交換協議模型檢測方法,該方法的步驟包括:1)構建安全交換協議模型;2)構建安全屬性模型;3)構建攻擊者模型;4)狀態約簡以及模型檢測。模型檢測技術主要通過對軟件系統進行抽象建模,并采用一系列的形式化性質來驗證模型是否符合特定性質,以研究系統是否具有某種性質,或違反某種約束。線性時態邏輯通常用于形式化定義模型所該具備的性質和約束。然而,構造形式化性質的困難一直阻礙了模型檢測技術的廣泛應用。因此,有必要尋找一種方法,能夠自動地從軟件系統中獲取軟件系統具備的性質或約束。正如人們觀察自然現象來了解自然規律,可以采用某種自動化的方法,根據軟件系統的運行日志,運行軌跡來學習、挖掘軟件系統所具備的性質。
技術實現思路
為解決以上問題,本專利技術公開了一種線性時態邏輯規范的通用并行挖掘方法,主要用于從軟件系統的日志文件中挖掘日志中各種事件之間所具備的線性時序關系,用于獲取日志中事件之間的規律,以推測出軟件程序中可能具備的線性時態性質,從而輔助對程序的理解分析,也可用于通信協議分析。具體的,本專利技術公開了一種線性時態邏輯規范的通用并行挖掘方法,包括如下步驟:預處理步驟,對日志文件進行分割,分離出日志文件中的獨立軌跡,獲取日志文件中所有事件的集合以及每個事件在獨立軌跡中出現的位置;規范實例生成步驟,根據輸入的規范模板集合,將其中的變量與日志事件集合中的事件依次進行綁定,以獲取規范實例候選集合;規范實例驗證步驟,依次對規范實例候選集合中的規范實例進行驗證,計算其在日志中的支持度、置信度情況;結果篩選步驟,根據輸入的挖掘要求,從規范實例候選集合中去除支持度、置信度不符合要求的規范實例。優選的,如上所述的線性時態邏輯規范的通用并行挖掘方法,所述預處理步驟包括如下子步驟:軌跡分離步驟,通過文本處理,將日志中的數據讀取到內存中,按照分隔符進行分離,獲取一個元素為單條軌跡所組成的集合;事件集合獲取步驟,分別掃描每條軌跡,以上述分隔符對軌跡進行分割處理,獲取原子事件集合;事件位置信息獲取步驟,掃描每條軌跡,記錄事件在軌跡中出現的位置信息。優選的,如上所述的線性時態邏輯規范的通用并行挖掘方法,所述預處理步驟的實現過程為:順序地從日志文件中讀取字符串,在遇到分隔符時,識別并判斷該分隔符為事件分隔符或者是軌跡分隔符,若為軌跡分隔符,則當前軌跡終止并新建一個軌跡存儲對象;若為事件分隔符,則記錄新的事件位置信息,并將該事件加入到事件集合之中。優選的,如上所述的線性時態邏輯規范的通用并行挖掘方法,所述規范實例生成步驟包括如下三個子步驟:規范模板分析步驟,對輸入的規范模板進行語法分析,獲取規范模板中的變量;變量綁定步驟,用事件集合中的事件,對規范模板中的變量進行替換,即將規范模板中的變量綁定為特定的事件;實例生成步驟,規范模板中的變量都綁定事件后,則成為一個具體的規范實例,不同規范模板變量綁定不同的事件,以生成不同的規范實例。優選的,如上所述的線性時態邏輯規范的通用并行挖掘方法,所述規范實例驗證步驟包括如下三個子步驟:初始化步驟,為每條軌跡生成一個驗證器線程實例;并行驗證步驟,并行地執行各個線程實例,按照線性時態邏輯的語義,檢查每個規范實例在每個軌跡上是否滿足;統計匯總步驟,將并行計算的結果進行匯總,統計每個規范實例在所有軌跡上的滿足情況,得到一個以規范實例和統計數據的鍵值對為元素的統計數據映射表。優選的,如上所述的線性時態邏輯規范的通用并行挖掘方法,所述結果集篩選步驟通過對所述統計匯總步驟產生的統計數據映射表進行遍歷,以去除統計數據不符合要求的規范實例項。本專利技術的優點在于,與現有技術相比,本專利技術公開的一種線性時態邏輯規范通用并行挖掘方法,具有如下有益效果:該方法根據線性時態邏輯規范模板,構造線性時態邏輯規范實例,再通過多線程技術進行并行驗證,能夠非常高效地獲取正確的線性時態邏輯規范。附圖說明通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本專利技術的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:附圖1示出了根據本專利技術實施例的線性時態邏輯規范通用并行挖掘方法流程框圖;附圖2示出了根據本專利技術實施例的線性時態邏輯規范通用并行挖掘方法中的預處理步驟的流程框圖;附圖3示出了根據本專利技術實施例的線性時態邏輯規范通用并行挖掘方法中規范實例生成步驟的流程框圖;附圖4示出了根據本專利技術實施例的線性時態邏輯規范通用并行挖掘方法的規范實例驗證步驟的流程框圖。具體實施方式下面將參照附圖更詳細地描述本公開的示例性實施方式。雖然附圖中顯示了本公開的示例性實施方式,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施方式所限制。相反,提供這些實施方式是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。如圖1所示,以上述系統實現的線性時態邏輯規范通用并行挖掘方法包括步驟:S110、預處理步驟:對日志文件進行分割,分離出日志文件中的獨立軌跡(軌跡是事件按照時間順序排列所組成的序列),獲取日志文件中所有事件的集合(EVENT)以及每個事件在獨立軌跡中出現的位置(MAP<Event,Position>)。日志文件是用于記錄系統操作事件的記錄文件或文件集合,操作系統有操作系統日志文件,數據庫系統有數據庫系統日志文件,等等。S120、規范實例生成步驟:根據輸入的規范模板集合,將其中的變量與日志事件集合中的事件依次進行綁定,以獲取規范實例候選集合SIC(SpecificationInstanceCandidates)。S130、規范實例驗證步驟:依次對規范實例候選集合中的規范實例進行驗證,計算其在日志中的支持度、置信度情況。支持度(Support)的公式是:Support(A->B)=P(A∪B)。支持度揭示了A與B同時出現的概率。如果A與B同時出現的概率小,說明A與B的關系不本文檔來自技高網...

【技術保護點】
一種線性時態邏輯規范的通用并行挖掘方法,包括如下步驟:預處理步驟,對日志文件進行分割,分離出日志文件中的獨立軌跡,獲取日志文件中所有事件的集合以及每個事件在獨立軌跡中出現的位置;規范實例生成步驟,根據輸入的規范模板集合,將其中的變量與日志事件集合中的事件依次進行綁定,以獲取規范實例候選集合;規范實例驗證步驟,依次對規范實例候選集合中的規范實例進行驗證,計算其在日志中的支持度、置信度情況;結果篩選步驟,根據輸入的挖掘要求,從規范實例候選集合中去除支持度、置信度不符合要求的規范實例。
【技術特征摘要】
1.一種線性時態邏輯規范的通用并行挖掘方法,包括如下步驟:預處理步驟,對日志文件進行分割,分離出日志文件中的獨立軌跡,獲取日志文件中所有事件的集合以及每個事件在獨立軌跡中出現的位置;規范實例生成步驟,根據輸入的規范模板集合,將其中的變量與日志事件集合中的事件依次進行綁定,以獲取規范實例候選集合;規范實例驗證步驟,依次對規范實例候選集合中的規范實例進行驗證,計算其在日志中的支持度、置信度情況;結果篩選步驟,根據輸入的挖掘要求,從規范實例候選集合中去除支持度、置信度不符合要求的規范實例。2.如權利要求1所述的線性時態邏輯規范的通用并行挖掘方法,其特征在于,所述預處理步驟包括如下三個子步驟:軌跡分離步驟,通過文本處理,將日志中的數據讀取到內存中,按照分隔符進行分離,獲取一個元素為單條軌跡所組成的集合;事件集合獲取步驟,分別掃描每條軌跡,使用上述分隔符對軌跡進行分割處理,獲取原子事件集合;事件位置信息獲取步驟,掃描每條軌跡,記錄事件在軌跡中出現的位置信息。3.如權利要求2所述的線性時態邏輯規范的通用并行挖掘方法,其特征在于,其特征在于:所述預處理步驟的實現過程為:順序地從日志文件中讀取字符串,在遇到分隔符時,識別并判斷該分隔符為事件分隔符或者是軌跡分隔符,若為軌跡分隔符,...
【專利技術屬性】
技術研發人員:何積豐,熊家文,史建琦,黃滟鴻,李昂,方徽星,
申請(專利權)人:華東師范大學,上海豐蕾信息科技有限公司,
類型:發明
國別省市:上海,31
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。