前言
第1章 程序設計語言
1.1 程序設計語言發(fā)展的四個階段
1.1.1 機器語言
1.1.2 匯編語言
1.1.3 高級語言
1.1.4 第四代語言
1.2 程序設計語言的發(fā)展趨勢
小結
第2章 元程序設計
2.1 元程序介紹
2.2 元程序設計系統(tǒng)
2.2.1 元程序系統(tǒng)的組成
2.2.2 中間表示
2.2.3 規(guī)則分類和對應的結構
2.2.4 元級操作
2.2.5 系統(tǒng)的生成
2.3 元級系統(tǒng)的實際應用
2.3.1 如何構造高效的系統(tǒng)
2.3.2 幾個元級系統(tǒng)的介紹
小結
第3章 信息流分析
3.1 控制流分析
3.1.1 控制流分析實例
3.1.2 控制流分析方法
3.1.3 程序的結構化轉換
3.2 數據流分析技術
3.2.1 數據流方程定義和活躍變量分析
3.2.2 數據流異常的檢測
3.2.3 常量表達式節(jié)省
3.2.4 公共子表達式節(jié)省
3.3 信息流分析技術的應用實例
3.3.1 方法描述
3.3.2 應用
小結
第4章 別名分析
4.1 指針別名
4.1.1 指針別名的產生
4.1.2 別名信息的分類
4.2 別名信息的表示
4.2.1 別名信息的表示介紹
4.2.2 別名計算
4.3 C語言的別名計算
4.3.1 C語言的別名采集器
4.3.2 C語言的別名傳播器
4.4 Java的別名分析
4.4.1 Java中的別名問題
4.4.2 別名分析算法
小結
第5章 程序分片
5.1 程序分片的基礎知識
5.1.1 程序分片的基本概念
5.1.2 一些常見的程序分片方法
5.1.3 程序分片的應用
5.2 程序分片方法
5.2.1 基于數據流方程求解的過程內分片
5.2.2 基于數據流方程求解的過程間分片
5.2.3 基于程序依賴圖的過程內分片
5.2.4 基于系統(tǒng)依賴圖的過程間分片
5.2.5 動態(tài)分片
5.2.6 條件分片
小結
第6章 形式概念分析
6.1 FCA和格理論基礎介紹
6.1.1 偏序集及完全格的基本概念
6.1.2 Galois連接
6.2 FCA的基本概念
6.2.1 上下文
6.2.2 概念
6.2.3 概念格
6.2.4 多值上下文
6.2.5 概念格的生成算法
6.2.6 生成概念格的工具
6.3 概念格在程序分析中的應用
6.3.1 概述
6.3.2 從源程序中推導配置結構
6.3.3 從遺留軟件中提取類或模塊
6.3.4 重構類結構
6.3.5 動態(tài)分析
小結
第7章 部分求值技術
7.1 部分求值技術基本原理
7.1.1 Kleene的s-m-n理論
7.1.2 部分求值器的定義
7.2 幾種部分求值技術的介紹
7.2.1 靜態(tài)部分求值方法
7.2.2 動態(tài)部分求值技術
7.2.3 動靜態(tài)結合的部分求值技術
7.3 Futamura投影定理
7.3.1 第一投影定理
7.3.2 編譯器的生成與第二投影定理
7.3.3 第三投影定理
7.4 程序點例化技術
7.4.1 狀態(tài)、程序點和分割
7.4.2 程序點例化
7.4.3 不同語句的代碼生成
7.4.4 轉換壓縮
7.4.5 正確的分割技巧
7.4.6 簡單綁定時間分析
小結
參考文獻