Apisan adalah alat yang secara otomatis menyimpulkan penggunaan API yang benar dari kode sumber tanpa upaya manual. Gagasan utama dalam Apisan adalah untuk mengekstrak kemungkinan pola penggunaan yang benar dalam empat aspek yang berbeda (misalnya, hubungan kausal, dan hubungan semantik pada argumen) dengan mempertimbangkan kendala semantik. Apisan dirancang untuk memeriksa berbagai properti dengan implikasi keamanan. Kami menerapkan Apisan ke 92 juta baris kode, termasuk kernel Linux, dan Openssl, menemukan 76 bug yang sebelumnya tidak diketahui, dan menyediakan tambalan untuk semua bug.
Repositori ini memiliki alat analisis dan LLVM. File Terkait LLVM mengikuti lisensi mereka sendiri (lisensi.llvm), dan alat analisis disediakan berdasarkan ketentuan lisensi MIT.
$ ./setup.sh $ apisan build [cmds] $ apisan build ./configure
$ apisan build make $ apisan check --db=[db] --checker=[checker] $ cd test/return-value
$ ../../apisan build make
$ ../../apisan check --checker=rvchk @inproceedings{yun:apisan,
title = {{APISan: Sanitizing API Usages through Semantic Cross-checking}},
author = {Insu Yun and Changwoo Min and Xujie Si and Yeongjin Jang and Taesoo Kim and Mayur Naik},
booktitle = {Proceedings of the 25th USENIX Security Symposium (Security)},
month = aug,
year = 2016,
address = {Austin, TX},
}