對於指針分析尤其是Java指針分析來說,上下文敏感是最有效的提升精度的方法,上下文敏感的指針分析是指針分析領域最近幾年研究的熱點,上下文敏感不是指針分析獨有的技術,理論上所有跨函數間的分析都會涉及到上下文敏感。我們當前先研究上下文敏感的指針分析。 1.上下文不敏感指針分析的缺陷 我們用一個 ...
本文是對於南京大學李樾和譚添老師開設的 軟件分析 課程視頻的筆記總結。相對應的視頻在可以再B站上觀看。 .Motivation 上節回顧 在筆記 里我學習了CHA有關的概念和用法,用一個例子來復習一下: 如上圖所示,定義了一個接口Number,然后有三個類繼承了該接口,實例化了一個Number對象n,那么利用CHA可以找到 個調用目標 因為n是Number類型,所以要去Number和所有Numbe ...
2020-04-24 15:45 0 1206 推薦指數:
對於指針分析尤其是Java指針分析來說,上下文敏感是最有效的提升精度的方法,上下文敏感的指針分析是指針分析領域最近幾年研究的熱點,上下文敏感不是指針分析獨有的技術,理論上所有跨函數間的分析都會涉及到上下文敏感。我們當前先研究上下文敏感的指針分析。 1.上下文不敏感指針分析的缺陷 我們用一個 ...
本文是對於北京大學熊英飛老師《軟件分析》課件以及南京大學李樾老師《軟件分析》課程視頻的總結。 1.哥德爾不完備定理及其在軟件分析中應用 1.1定理內容 對任意能表示自然數的系統,一定有定理不能 被證明 1.2定理應用 主流程序語言的語法+語義=能表示自然數的形式系統 。 哥德爾不完 ...
項目 內容 這個作業屬於哪個課程 2021春季軟件工程(羅傑 任健) 這個作業的要求在哪里 案例分析作業 我在這個課程的目標是 認識軟工,擁抱軟工,提升相關 ...
最近在學習軟件分析相關知識的過程中,很多老師都推薦了Soot這個代碼分析工具,所以我就去學習了一下soot的基本用法。soot項目在github上的地址為:https://github.com/Sable/soot 1.Soot簡介 soot是java優化框架,提供4種中間代碼來分析和轉換 ...
本文是針對南京大學《軟件分析》譚添老師的視頻課的課堂筆記。 1.Motivation 此前我們討論的問題都是過程內的,也就是不涉及到方法調用。然而實際程序中方法調用屢見不鮮,繼續采用之前的分析方法會丟失精度,這也就是為什么我們需要過程(間)分析。二者的區別如下: 過程內分析 ...
1數據流分析基礎 1.1停機問題-抽象方法 針對基礎篇中的停機問題,我們可以試用抽象方法去嘗試解決問題。邪惡程序存在的關鍵在於程序中有if存在 。因此可以采取以下方式。 1.1.1忽略掉所有程序的if條件部分 抽象成 語義:“向左走/向右走”為非確定性選擇,程序隨機從“向左走 ...
當在不同的對象中采用this指針,就已經是在給它賦值了。對象各自的this指針指向各自對象的首地址,所以不同對象的this指針一定指向不同的內存地址。 this 指針是由系統自動提供的指向對象的特殊指針。 this指針的含義及其用法: 1. this指針是一個隱含於每一個成員函數中的特殊 ...
2021軟件工程-案例分析作業#1 項目 內容 這個作業屬於哪個課程 2021-春 軟件工程(羅傑 任健) 這個作業的要求在哪里 2021年軟工-案例分析作業 ...