Other OSS Topics
Skilled
FreeBSD 原始碼導讀 -- 讓GOOGLE PageRank 教你讀懂FreeBSD
TR411 11:25 ~ 11:40 Mandarin初學者在閱讀FreeBSD原始碼時,往往會因為程式碼的數量太大,檔案過多而難以閱讀,這裏提出一種靜態程式分析的方式,利用PageRank鏈結分析,計算出該讀懂的程式碼順序.從最重要的程式碼開始了解.
Google PageRank 算是廣為人知的技術,卻很少人知道,PageRank除了可以用運用在搜尋引擎上,甚至還可以拿來做程式碼分析.
首先我們會將FreeBSD原始碼轉換成一個有向圖.再轉換成矩陣,最後計算矩陣的特徵向量.找出FreeBSD原始碼中較重要的部分.有助於瞭解圖形結構及每個節點的重要性。若時間許可,我們會畫出FreeBSD 1到12 每一版的有向圖,計算FreeBSD 1到12的pagerank 值,看看FreeBSD演進的歷史,pagerank值以及圖形的變化.
Collaborative note: https://hackmd.io/@coscup/SkagyXx4H