

️ La documentación para Qilin está en desarrollo.
El repositorio aloja a Qilin, un nuevo marco de análisis de puntero Java para apoyar la sensibilidad al contexto de grano fino. Para obtener detalles técnicos, consulte nuestro documento ECOOP'22.
instanceof proporcionada desde Java 16).subprocess.run API artifact/qilin.py Se agrega en Python 3.5). Este repositorio contiene un submodule que contiene un conjunto de puntos de referencia listos para usar en el mundo real para Qilin. Si desea ejecutar Qilin en estos puntos de referencia, use el siguiente comando para obtener el código fuente de Qilin:
$ git clone --recurse-submodules https://github.com/QilinPTA/Qilin.git
Si ha clonado Qilin de manera normal, aún puede usar el comando a continuación para descargar estos puntos de referencia:
$ git submodule update --init
Utilizamos Gradle como la herramienta de automatización de compilación. Para construir qilin, usar
$ ./run.sh
Este script contiene comandos para generar Qilin-VERSION-SNAPSHOT.jar , que se moverá automáticamente a artifact/ .
Para los usuarios que desean construir Qilin en IDE, consulte esta página.
Puede usar Qilin a través de su interfaz de línea de comandos (por ejemplo, driver.Main ) o como una biblioteca. Para los investigadores que trabajan en el análisis del puntero de Java, hemos proporcionado un conjunto completo de scripts, puntos de referencia (por ejemplo, DaCapo2006 ) y bibliotecas JDK con artifact/ .
Para probar Qilin, puede hacer directamente:
$ cd artifact
$ python3 run.py antlr ci -print
El comando anterior analizará antlr con un análisis de puntero insensible al contexto con algunas métricas que se muestran en la pantalla.
Planeamos optimizar el script run.py para que su información de ayuda sea más fácil de usar.
| Sobre Qilin | Guía de configuración | Guía del usuario | Guía de desarrolladores |
|---|---|---|---|
| Presentación de Qilin: lo que hace y cómo lo diseñamos | Una guía de configuración paso a paso para construir qilin | Opciones de línea de comandos de Qilin y ejecutar Qilin con un ejemplo | Documentación técnica detallada y cómo usar Qilin como LIB para su herramienta o escribir sus propios análisis en Qilin |
Las contribuciones siempre son bienvenidas. Qilin es un proyecto de código abierto que publicamos con la esperanza de que sea útil para la comunidad de investigación en su conjunto. Si tiene una nueva función o una solución de errores que le gustaría ver en el repositorio de código oficial, abra una solicitud de fusión aquí en GitHub y deje una breve descripción de lo que ha hecho.
Qilin tiene licencia bajo la licencia GPL V2.1, consulte el archivo de licencia.