

️ La documentation de Qilin est en cours de développement.
Le référentiel héberge Qilin, un nouveau cadre d'analyse de pointeur Java pour soutenir la sensibilité contextuelle à grain fin. Pour plus de détails techniques, veuillez consulter notre papier ECOOP'22.
instanceof fournie depuis Java 16).subprocess.run l'API.Run utilisé dans artifact/qilin.py est ajouté dans Python 3.5). Ce référentiel contient un submodule qui contient un ensemble de repères prêts à l'emploi réels pour Qilin. Si vous souhaitez exécuter Qilin sur ces repères, veuillez utiliser la commande suivante pour récupérer le code source Qilin:
$ git clone --recurse-submodules https://github.com/QilinPTA/Qilin.git
Si vous avez cloné Qilin de manière normale, vous pouvez toujours utiliser la commande ci-dessous pour télécharger ces repères:
$ git submodule update --init
Nous utilisons Gradle comme outil d'automatisation de build. Pour construire Qilin, utilisez
$ ./run.sh
Ce script contient des commandes pour générer Qilin-VERSION-SNAPSHOT.jar , qui sera automatiquement déplacée dans artifact/ .
Pour les utilisateurs qui souhaitent créer Qilin dans IDE, veuillez vous référer à cette page.
Vous pouvez utiliser Qilin via son interface de ligne de commande (par exemple, driver.Main ) ou en tant que bibliothèque. Pour les chercheurs qui travaillent sur l'analyse du pointeur Java, nous avons fourni un ensemble entier de scripts, de repères (par exemple, DaCapo2006 ) et de bibliothèques JDK sous artifact/ .
Pour tester Qilin, vous pouvez faire directement:
$ cd artifact
$ python3 run.py antlr ci -print
La commande ci-dessus analysera antlr avec une analyse de pointeur insensible au contexte avec certaines mesures affichées à l'écran.
Nous prévoyons d'optimiser le script run.py pour rendre ses informations d'aide plus conviviales.
| À propos de Qilin | Guide de configuration | Guide de l'utilisateur | Guide du développeur |
|---|---|---|---|
| Présentation de Qilin - ce qu'il fait et comment nous le concevons | Un guide de configuration étape par étape pour construire Qilin | Options de ligne de commande de Qilin et exécution de Qilin avec un exemple | Documentation technique détaillée et comment utiliser Qilin comme lib pour votre outil ou rédiger vos propres analyses dans Qilin |
Les contributions sont toujours les bienvenues. Qilin est un projet open source que nous publions dans l'espoir qu'il sera utile à la communauté de recherche dans son ensemble. Si vous avez une nouvelle fonctionnalité ou un correctif de bogue que vous souhaitez voir dans le référentiel de code officiel, veuillez ouvrir une demande de fusion ici sur GitHub et laisser une brève description de ce que vous avez fait.
Qilin est autorisé sous la licence GPL V2.1, voir le fichier de licence.