
Magpiebridge ist ein Framework zum Integrieren statischer Analysen in IDEs und Redakteure mit dem Sprachserverprotokoll. Magpiebridge ist nicht auf LSP beschränkt, sondern nutzt auch das HTTP, um Webseiten in einer IDE anzuzeigen. Dies ermöglicht eine neue Ebene der unterstützenden Visualisierung und einer anpassbaren Benutzeroberfläche, mit der der Benutzer interagieren kann. Magpiebridge ist eine Brücke zwischen Programmanalysen und Entwicklerwerkzeugen. Magpiebridge bietet eine erweiterbare Implementierung eines Sprachservers- MagpieServer , der eine Analyse ausführt. ein Standard-TextdocumentService- MagpieTextDocumentService , der gemeinsame LSP-Anfragen abwickelt; ein Standard-WorkSpaceService- MagpieWorkspaceService , der verschiedene Arten von Codeaktionen und viele andere nützliche APIs für die statische Analyse übernimmt; und neuere Projektdienste, die den Projektumfang (Quellcode -Pfad, Bibliothekscode -Pfad, Klassenpfad usw.) beheben, die durch ganze Programmanalysen konsumiert werden können. Weitere Informationen finden Sie im Folgenden:
Für Soot -Benutzer finden Sie einen Irconverter unter https://github.com/magpiebridge/irconverter für die Konvertierung von Wala IR in Soot IR, wenn Sie den Java -Quellcode mit Ruß analysieren möchten.

Für die wissenschaftliche Verwendung zitieren bitte das Papier [Bibtex].
In einer chinesischen Legende verlieben sich ein Mensch und eine Fee in die Liebe, aber diese Liebe verärgert die Götter, die sie auf gegenüberliegenden Seiten der Milchstraße trennen. Am siebten Tag des siebten Mondmonats pro Jahr bilden Tausende von Elstern jedoch eine Brücke, die in Chinesisch und Queqiao in Pinyin bezeichnet wird und es den Liebenden ermöglicht, sich zu treffen. Wir verwenden Magpiebridge als Metapher für ein System, das eine willkürliche statische Analyse mit einer willkürlichen IDE verbindet.
Sie können entweder
pom.xml ein. <dependency>
<groupId>com.github.magpiebridge</groupId>
<artifactId>magpiebridge</artifactId>
<version>0.1.5</version>
</dependency>
Die alten Versionen bis zu 0,0,9 Magpiebridge wurden in der GitHub -Paketregistrierung veröffentlicht. Sie können die Version verwenden, indem Sie Ihren folgenden Zeilen zu Ihrem pom.xml hinzufügen (siehe alle Github -Paket) und Ihr GitHub -Zugriffstoken einrichten, indem Sie diese Anweisungen befolgen.
<dependencies>
<dependency>
<groupId>magpiebridge</groupId>
<artifactId>magpiebridge</artifactId>
<version>0.0.9</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>github</id>
<name>GitHub MagpieBridge Apache Maven Packages</name>
<url>https://maven.pkg.github.com/MagpieBridge/MagpieBridge</url>
</repository>
</repositories>
git clone -b develop https://github.com/MagpieBridge/MagpieBridge.gitmvn install im Projekt Root -Verzeichnis aus, um das Tool zu erstellen und alle Tests auszuführen. Um Tests zu überspringen, führen Sie mvn install -DskipTests aus. Eclipse> File> Import > Maven > Existing Maven Projects > Enter the path to your local repository > Finish
mvn com.coveo:fmt-maven-plugin:format vor git push Vielen Dank an diese wunderbaren Menschen (Emoji -Schlüssel):
Linghui Luo ? | Julian Dolby ? | Christian Brüggemann | Jonas Manuel | Markus Schmidt | João Pereira ? | Sven Erik Vinkemeier ? |
Goran Piskachev ? | Ranjith k ? | Ejardak | Challe535 | Julian t |
Dieses Projekt folgt der All-Contributors-Spezifikation. Beiträge jeglicher Art willkommen!
linghui [at] Outlook.de