Qilin
1.0.0


配x Qilin的文檔正在開發中。
存儲庫託管Qilin,這是一個新的Java指針分析框架,用於支持細粒度的上下文敏感性。有關技術詳細信息,請參閱我們的Ecoop'22論文。
instanceof匹配)。artifact/qilin.py中使用的api subprocess.run )。該存儲庫包含一個submodule ,其中包含一組Qilin的現實世界現成的基準測試。如果要在這些基準測試中運行Qilin,請使用以下命令獲取Qilin源代碼:
$ git clone --recurse-submodules https://github.com/QilinPTA/Qilin.git
如果您以普通方式克隆Qilin,則仍然可以使用下面的命令下載以下基準:
$ git submodule update --init
我們使用Gradle作為構建自動化工具。要構建Qilin,請使用
$ ./run.sh
該腳本包含生成Qilin-VERSION-SNAPSHOT.jar的命令,將自動移動到artifact/ 。
對於想在IDE中構建Qilin的用戶,請參閱此頁面。
您可以通過其命令行接口(例如, driver.Main )或庫使用Qilin。對於正在從事Java指針分析的研究人員,我們提供了整個腳本,基準(例如, DaCapo2006 )和JDK artifact/ 。
要測試Qilin,您可以直接做:
$ cd artifact
$ python3 run.py antlr ci -print
上面的命令將通過上下文不敏感的指針分析分析antlr ,並在屏幕上顯示一些指標。
我們計劃優化run.py腳本,以使其幫助信息更加用戶友好。
| 關於Qilin | 設置指南 | 用戶指南 | 開發人員指南 |
|---|---|---|---|
| 引入Qilin-它的作用以及我們如何設計 | 逐步設置指南以構建Qilin | Qilin的命令行選項,並以示例運行Qilin | 詳細的技術文檔以及如何將Qilin用作工具的LIB或在Qilin中編寫自己的分析 |
總是歡迎捐款。 Qilin是一個開源項目,我們希望它對整個研究社區有用。如果您有一個新功能或一個錯誤修復程序,您希望在官方代碼存儲庫中看到,請在Github上在Github上打開合併請求,並對您所做的工作進行簡短描述。
Qilin是根據GPL V2.1許可證獲得許可的,請參見許可證文件。