在軟件應用程序中,程序切片是一種識別軟件程序核心元素并從更復雜的代碼中提取出來的方法,這對軟件工程工作尤其重要,因為它允許軟件工程師通過復雜的字符串找到方法代碼,以便訪問實際驅動應用程序的源代碼。能夠提取這些...
在軟件應用程序中,程序切片是一種識別軟件程序核心元素并從更復雜的代碼中提取出來的方法,這對軟件工程工作尤其重要,因為它允許軟件工程師通過復雜的字符串找到方法代碼,以便訪問實際驅動應用程序的源代碼。能夠提取這些子程序并查看源代碼,就可以識別出各種潛在的錯誤,從而使軟件運行效率更高。手持計算機的人通常會故意將代碼復雜化這樣做的主要原因是代碼中更復雜的部分有助于保護源代碼免受病毒和黑客攻擊的破壞,一個程序員會添加大量的額外代碼,這基本上需要經過許多額外的步驟來完成源代碼只需幾個步驟就可以完成的任務。雖然從保護軟件不受可能損壞的角度來看,這是一種理想的狀態,在某些情況下,需要獲取源代碼。這就是程序切片發揮作用的地方。程序切片有兩種基本方法或維度。語義維度側重于代碼字符串中需要保留的元素。靜態和動態函數都是通過使用特定的切片方法進行識別和保存,這些方法會留下基本元素,但會刪除作為掩蔽過程一部分插入的大部分代碼。使用語義程序切片,工程師在決定什么(如果有)時有相當大的自由裁量權,語法程序切片并不能為工程師提供相同數量的選項使用這種方法,任何對代碼核心功能不重要的內容都會被刪除。如果發現字符串沒有實際用途,并且對代碼中感興趣的語義沒有任何影響,是的。這種方法有助于保持程序的原始語法,而不需要任何額外的修飾。語法程序切片的第二個和越來越常見的用法是非定形程序切片。使用這種方法,目標是使切片能夠繼續使用任何有助于維護的語法函數工程師希望在代碼中保留的語義約束
-
發表于 2020-08-07 03:40
- 閱讀 ( 1149 )
- 分類:電腦網絡