Observação
Clique no botão Usar este modelo (não o garfo ).
Este é um projeto de modelo projetado para demonstrar como desenvolver sua própria análise estática usando o TAII-E (uma estrutura de análise estática fácil de aprender/usar para Java) como uma dependência em um projeto gradle ou maven.
O principal objetivo deste projeto de modelo é acelerar a fase de configuração do desenvolvimento da análise estática no topo da TAII e para desenvolvedores novos e experientes, pré-configurando o andaime do projeto e mantendo tudo organizado.
Este projeto de modelo contém arquivos relacionados à graduação e relacionados ao Maven. Portanto, você precisa escolher a ferramenta de construção que está usando, concentre -se nos arquivos necessários nele e exclua outros arquivos irrelevantes.
Para os usuários da gradle, os seguintes arquivos são necessários, enquanto outros podem ser excluídos:
.
├── gradle (Gradle Wrapper)
├── src (Source code folder)
├── build.gradle.kts (Gradle configuration)
├── gradlew (*nix Gradle Wrapper script)
└── gradlew.bat (Windows Gradle Wrapper script)
Para usuários do Maven, os seguintes arquivos são necessários, enquanto outros podem ser excluídos:
.
├── .mvn (Maven Wrapper)
├── src (Source code folder)
├── mvnw (*nix Maven Wrapper script)
├── mvnw.cmd (Windows Maven Wrapper script)
└── pom.xml (Maven configuration)
Aviso
Certifique-se de remover todos os arquivos não necessários do seu projeto.
Antes de mergulhar no desenvolvimento da análise estática e tudo relacionado a ele, vale a pena mencionar os benefícios de usar modelos do GitHub. Ao criar um novo projeto usando o modelo atual, você inicia sem histórico ou referência a este repositório. Isso permite criar um novo repositório facilmente sem copiar e colar conteúdo anterior, repositórios de clone ou limpar o histórico manualmente.
Tudo o que você precisa fazer é clicar no botão Use this template (você deve estar conectado à sua conta do Github).
Uma vez concluído, o projeto está pronto para ser clonado para o seu ambiente local e aberto com Intellij Idea.
A próxima etapa, depois de abrir seu projeto no Intellij Idea, é definir o SDK adequado para Java na versão 17 nas configurações da estrutura do projeto. Então você pode começar a trabalhar implementando suas idéias.
O modelo preparado fornece o mínimo de código possível, porque é impossível para um andaime geral atender a todos os requisitos específicos para todas as análises estáticas sobre o TAII-E. Portanto, o modelo contém apenas os seguintes arquivos:
.
└── src
├── main
│ └── java
│ └── org
│ └── example
│ └── MyMain.java (Your analyzer code)
└── test
└── resources
├── MyClass.java (The program analyzed by your analyzer)
└── *.class (All the .class files obtained by compiling MyClass.java with Java 17)
Os arquivos build.gradle.kts e pom.xml são os arquivos de configuração do projeto para gradle e maven, respectivamente. Existem algumas propriedades genéricas que você precisa modificar posteriormente ao trabalhar no seu próprio código do analisador.
Metadados do projeto:
group = " org.example "
description = " tai-e-template "
version = " 0.0.1-SNAPSHOT "Classe de ponto de entrada do seu analisador:
application {
mainClass.set( " org.example.MyMain " )
}Versão TAII e especificada:
val taieVersion = " 0.2.2 "Metadados do projeto:
< groupId >org.example</ groupId >
< artifactId >tai-e-template</ artifactId >
< version >0.0.1-SNAPSHOT</ version >Classe de ponto de entrada do seu analisador:
< build >
...
< mainClass >org.example.MyMain</ mainClass >
...
</ build >Versão TAII e especificada:
< properties >
...
< tai-e .version>0.2.2</ tai-e .version>
</ properties >Se você precisar testar como executar seu analisador na linha de comando (por exemplo, ao desenvolver em ambientes sem cabeça, como servidores remotos):
Para usuários gradle, execute ./gradlew run para executar seu analisador.
Para usuários do Maven, execute ./mvnw test para executar seu analisador.