

️ Документация для Килина находится в стадии разработки.
Репозиторий проводит Qilin, новую структуру анализа указателей Java для поддержки мелкозернистой контекста-чувствительности. Для получения технических данных, пожалуйста, обратитесь к нашей бумаге Ecoop'22.
instanceof сопоставление шаблона, предоставленную с Java 16).subprocess.run API.run, используемый в artifact/qilin.py добавляется в Python 3.5). Этот репозиторий содержит 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/ .
Для пользователей, которые хотят построить Qilin в IDE, пожалуйста, обратитесь к этой странице.
Вы можете использовать Qilin либо через его интерфейс командной строки (например, driver.Main ) или в качестве библиотеки. Для исследователей, которые работают над анализом указателя Java, мы предоставили целый набор сценариев, тестов (например, DaCapo2006 ) и библиотек JDK в соответствии с artifact/ .
Чтобы проверить Qilin, вы можете прямо:
$ cd artifact
$ python3 run.py antlr ci -print
Приведенная выше команда будет анализировать antlr с контекстным нечувствительным анализом указателей с некоторыми показателями, отображаемыми на экране.
Мы планируем оптимизировать сценарий run.py , чтобы сделать его информацию о помощи более удобной для пользователя.
| О цилин | Руководство по настройке | Руководство пользователя | Руководство разработчика |
|---|---|---|---|
| Представляем Qilin - что он делает и как мы его проектируем | Пошаговое руководство по настройке для построения Qilin | Параметры командной строки Qilin и запуск Qilin с примером | Подробная техническая документация и как использовать Qilin в качестве LIB для вашего инструмента или написать свой собственный анализ в Qilin |
Вклад всегда приветствуются. Qilin-это проект с открытым исходным кодом, который мы публикуем в надежде, что он будет полезен для исследовательского сообщества в целом. Если у вас есть новая функция или исправление ошибки, которое вы хотели бы увидеть в официальном репозитории кода, откройте запрос на слияние здесь на GitHub и оставьте краткое описание того, что вы сделали.
Qilin лицензирован по лицензии GPL v2.1, см. Файл лицензии.