

️ A documentação para Qilin está em desenvolvimento.
O repositório hospeda Qilin, uma nova estrutura de análise de ponteiro Java para apoiar a sensibilidade ao contexto de granulação fina. Para detalhes técnicos, consulte o nosso artigo Ecoop'22.
instanceof fornecida desde Java 16).subprocess.run da API.Run usado em artifact/qilin.py é adicionado no Python 3.5). Este repositório contém um submodule que contém um conjunto de benchmarks prontos para uso do mundo real para Qilin. Se você deseja executar o Qilin nesses benchmarks, use o seguinte comando para buscar o código -fonte Qilin:
$ git clone --recurse-submodules https://github.com/QilinPTA/Qilin.git
Se você clonou Qilin de maneira normal, ainda poderá usar o comando abaixo para baixar estes referências:
$ git submodule update --init
Usamos o gradle como ferramenta de automação de compilação. Para construir qilin, use
$ ./run.sh
Este script contém comandos para gerar Qilin-VERSION-SNAPSHOT.jar , que serão movidos automaticamente para artifact/ .
Para usuários que desejam construir Qilin no IDE, consulte esta página.
Você pode usar o Qilin através de sua interface de linha de comando (por exemplo, driver.Main ) ou como uma biblioteca. Para pesquisadores que estão trabalhando na análise do ponteiro Java, fornecemos todo um conjunto de scripts, benchmarks (por exemplo, DaCapo2006 ) e bibliotecas JDK sob artifact/ .
Para testar Qilin, você pode fazer diretamente:
$ cd artifact
$ python3 run.py antlr ci -print
O comando acima analisará antlr com uma análise de ponteiro insensível ao contexto, com algumas métricas sendo exibidas na tela.
Planejamos otimizar o script run.py para tornar suas informações de ajuda mais amigáveis.
| Sobre Qilin | Guia de configuração | Guia do usuário | Guia do desenvolvedor |
|---|---|---|---|
| Apresentando Qilin - o que faz e como o projetamos | Um guia de configuração passo a passo para construir Qilin | Opções da linha de comando do qilin, e executando qilin com um exemplo | Documentação Técnica detalhada e como usar o Qilin como um Lib para sua ferramenta ou escrever suas próprias análises no qilin |
As contribuições são sempre bem -vindas. Qilin é um projeto de código aberto que publicamos na esperança de que seja útil para a comunidade de pesquisa como um todo. Se você tiver um novo recurso ou uma correção de bug que gostaria de ver no repositório oficial de código, abra uma solicitação de mesclagem aqui no Github e deixe uma breve descrição do que você fez.
O Qilin é licenciado sob a licença GPL v2.1, consulte o arquivo de licença.