J. C. Huang University of Houston,USA
Path-Oriented Program
Analysis
2008, 196pp.
Hardcover
ISBN 9780521882866
J.C.黃著
程序分析是一個涉及從程序中系統(tǒng)地提取信息的研究領(lǐng)域,自從計(jì)算機(jī)科學(xué)成為一個學(xué)科起,它就吸引了計(jì)算機(jī)科學(xué)家大量的注意力。早期的努力大多是來自在編譯程序中所遇到問題的推動,后來研究領(lǐng)域被擴(kuò)展到包括在計(jì)算機(jī)輔助軟件工程工具開發(fā)中產(chǎn)生的問題上面,例如怎樣通過靜態(tài)分析檢測某些編程錯誤。到了20世紀(jì)80年代中,程序分析的視野已經(jīng)極大地擴(kuò)展了,除了已有的問題以外,還包括了數(shù)據(jù)流等式的調(diào)研、類型推理和閉包分析。現(xiàn)在人們理解了這些看似獨(dú)立的問題是相關(guān)的,可以從一個統(tǒng)一的概念框架中研究它們。
本書介紹了一種獨(dú)特的分解計(jì)算機(jī)程序及其執(zhí)行路徑的方法,用來簡化如何編制子程序,以及從它的子程序重新組合程序。通過把一個程序分解成一組子程序,然后盡可能在最大程度上將它們簡化,這種方法幫我們細(xì)分并控制由一個程序執(zhí)行的計(jì)算的復(fù)雜性。最終經(jīng)過簡化的子程序作為一個整體要比原始的程序更加容易理解。這種按照分解、簡化及重新組合的面向路徑的方法還可以用來簡化一段源代碼。程序分析有可能以這樣一種方式進(jìn)行,即分析結(jié)果的推導(dǎo)構(gòu)成了一個正確性證明。這種方法可用于任何源代碼(或者它的一部分)。
本書共有9章和2個附錄。1.緒論,對程序分析演變的歷史及本書各章的內(nèi)容做了簡要的介紹;2.狀態(tài)約束;3.子程序簡化;4.程序集合;5.路徑方式分解;6.重復(fù)約束;7.程序的重新組合;8.討論;9.符號跟蹤的自動生成。附錄A:實(shí)例;附錄B:邏輯-數(shù)學(xué)背景。
作者是美國賓夕法尼業(yè)大學(xué)電氣工程博士,從1992年至1996年任美國休斯敦大學(xué)計(jì)算科學(xué)系主任,他對計(jì)算機(jī)軟件的實(shí)際經(jīng)驗(yàn)包括:曾任為美國陸軍彈道導(dǎo)彈防御司令部開發(fā)的軟件驗(yàn)證及驗(yàn)證系統(tǒng)的首席設(shè)計(jì)師;美國海軍水下系統(tǒng)中心有關(guān)潛艇軟件問題的資深顧問。
本書可供從事程序分析研究及應(yīng)用的計(jì)算機(jī)軟件專業(yè)人員閱讀借鑒。
胡光華,高級軟件工程師
(原中國科學(xué)院物理學(xué)研究所)
Hu Guanghua, Senior Software Engineer
(Former Institute of Physics,CAS)