本發(fā)明提供了一種軟件代碼中重復(fù)片段的檢測提取方法,該方法包括如圖的步驟一到步驟八,由于代碼片段提取采取的語法樹中的分層的信息,考慮了代碼片段中的語法信息,使得提取的代碼片段是有意義的。此外,代碼片段的提取過程受到基于倒排索引的查重機(jī)制控制:如果已經(jīng)發(fā)現(xiàn)高層次的重復(fù)了,低層次就不提取了。這種提取方法相較目前的大多數(shù)技術(shù)中先分到最小的片段檢查重復(fù)然后再進(jìn)行組合的方式,可以節(jié)約很多計(jì)算量。過程中,檢測窗口大小能夠根據(jù)實(shí)際是否存在重復(fù)的上下文進(jìn)行自動(dòng)調(diào)節(jié),提高性能,檢測速度快,可以被應(yīng)用于實(shí)時(shí)檢測場景。同時(shí)因?yàn)樵摲椒ńY(jié)合了語法結(jié)構(gòu)信息,因此誤判率非常低。
聲明:
“一種軟件代碼中重復(fù)片段的檢測提取方法” 該技術(shù)專利(論文)所有權(quán)利歸屬于技術(shù)(論文)所有人。僅供學(xué)習(xí)研究,如用于商業(yè)用途,請聯(lián)系該技術(shù)所有人。
我是此專利(論文)的發(fā)明人(作者)