[JAVA] Statische Analyse ausführen In der Windows-Umgebung ableiten

statisches Facebook OSS-Analysetool "infer" http://fbinfer.com/ Java analysiert, wo (möglicherweise) schleimige Stellen auftreten und Speicherlecks auftreten. In der Analyse von Nurupo scheint es viel stärker zu sein als Fehler zu finden, deshalb wollte ich es einfügen, aber es ist nicht kompatibel mit Windows. Es gab vorerst einen Docker, also konnte ich ihn mit der Docker-Toolbox ausführen.

Annahme

Einführung der Docker-Toolbox

https://www.docker.com/products/docker-toolbox Komm von hier

Holen Sie sich Dockerfile

Erstellen Sie ein Infer-Verzeichnis direkt unter C (irgendwo anders ist OK)

Starten Sie das Docker-Schnellstartterminal.

Holen Sie sich die Docker-Datei und starten Sie die Shell.

$ curl https://raw.githubusercontent.com/facebook/infer/master/docker/Dockerfile > /c/infer/Dockerfile
$ curl https://raw.githubusercontent.com/facebook/infer/master/docker/run.sh > /c/infer/run.sh

Ist der Dockerfile-Buggy, wenn ich die Shell so wie sie ist getroffen habe? (Stand 9. Juni 2017) Da dies fehlschlägt, werde ich die Docker-Datei ein wenig ändern. Geändert wie unten

# Base image
FROM buildpack-deps:xenial-curl

MAINTAINER I2

# Debian config
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
            aspcud \
            autoconf \
            automake \
            gcc \
            g++ \
            git \
            groff-base \
            libc6-dev \
            libgmp-dev \
            libmpc-dev \
            libmpfr-dev \
            m4 \
            make \
            ncurses-dev \
            ocaml \
            opam \
            openjdk-8-jdk-headless \
            pkg-config \
            python2.7 \
            rsync \
            unzip \
            zlib1g-dev && \
    rm -rf /var/lib/apt/lists/*

# Download the latest Infer release
RUN git clone https://github.com/facebook/infer.git

RUN cd infer && ./build-infer.sh java

ENV PATH $PATH:/infer/infer/bin

Erstellen und starten Sie das Docker-Image

Schlagen Sie die Muschel

$ cd /c/infer
$ ./run.sh

Warten Sie lange. Es wird sich bewegen.

Sie können es durch ein Beispiel führen, aber wenn Sie es von git klonen, können Sie vorhandene Projekte analysieren.

Was ist von nun an zu tun?

Ich möchte in einem anderen Artikel schreiben, wie erstaunlich die Analyse von Nurupo ist

Recommended Posts

Statische Analyse ausführen In der Windows-Umgebung ableiten
Führen Sie eine statische Code-Analyse mit Checkstyle mit Java + Gradle durch
[Rails] Führen Sie LINE Bot in einer lokalen Umgebung mit ngrok aus
Anfänger verwenden Ubuntu im Fenster, um die Schienenumgebung vorzubereiten
Aufbau der Penronse-Umgebung [Windows]
Installieren / Ausführen eines eigenständigen Robotersimulators in der wsl2 / docker-Umgebung!
Beheben Sie den CreateProcess-Fehler = 206, wenn Sie Java in einer Windows-Umgebung ausführen
Verwenden Sie Java Web Start in einer OpenJDK-Umgebung unter Windows
Zip-Komprimierung, die in einer Java-Umgebung nicht beeinträchtigt wird