
Ein Nutzen für die Erkennung von Designmuster auf Blockchain durch statische Analyse des Codes
Diese Readme ist in den folgenden Sprachen verfügbar:
Italienisch · Englisch
Nach dem Abschluss hat das Projekt eine Vielfalt und Verbesserungen durchlaufen. Daher wird das, was im Aufwand der These beschrieben wird, möglicherweise nicht zuverlässiger.
Klicken Sie hier, um das Projekt in der in der Ausarbeitung der These und der frozen selbst beschriebenen Form der These und der These selbst zu sehen.
Solidity Design Muster Analyzer ist eine Softwareanwendung, die für meine Abschlussarbeit für die drei -jährigen CDL in Informatik an der Universität von Catania entwickelt wurde.
Die Softwareanwendung und in der Lage, die folgenden Vorgänge auszuführen:
(zurück nach oben)
(zurück nach oben)
Vor der Verwendung der Anwendung müssen Sucht installiert werden.
Um Mitarbeiter zu installieren, können Sie das Python Installer Paket namens PIP verwenden:
pip install -r requirements.txtpython3 -m venv /path/to/new/virtual/environment
source /path/to/new/virtual/environment/bin/activate
pip install -r requirements.txtUm den Analysator zu verwenden, ist es erforderlich, eine Reihe von Parametern bereitzustellen, die hier aufgeführt sind:
| Parameter | Beschreibung |
|---|---|
-h, --help | Ein optionaler Parameter, der, falls angegeben, eine Anleitung zur Verwendung im Terminal erstellt |
-a, --action | Ein obligatorischer Parameter, der nur analyze und describe Werte akzeptiert, abhängig von der Operation, die Sie ausführen möchten. |
-t, --target | Ein obligatorischer Parameter, der den absoluten oder relativen Pfad der Datei oder des Ordners darstellt, der den SolidTy -Quellcode enthält. Wenn ein Verzeichnis bereitgestellt wird, wird der modalità batch durchgeführt, der alle in einer einzelnen Datei erzielten Ergebnisse speichert. |
-d, --descriptor | Ein optionaler Parameter für die analyze , die den Pfad, absolut oder relativ, der Datei oder des Ordners mit dem Design Pattern Descriptor darstellt.Wenn Sie einen vordefinierten Pfad weglassen, wird er verwendet. |
-v, --verbose | Ein optionaler Parameter, der bei der Lieferung Debugs -Anmeldungen im Terminal drucken kann, das normalerweise nicht angezeigt wird. |
-ai, --allow-incompatible | Ein optionaler Parameter, der die Steuerung der Kompatibilität der Version von Soliditch bestimmt, die in der angegebenen Datei verwendet wird. Akzeptiert als Werte: ask , always skip .Standard: ask Sie nach Bestätigung. |
-p, --plot | Ein optionaler Parameter, der die Anzeige einer Zusammenfassungsgrafik bestimmt. Akzeptiert als Werte: ask , always skip .Standard: ask Sie nach Bestätigung. |
-pr, --print-result | Ein optionaler Parameter, der, falls angegeben, eine Zusammenfassung der Ergebnisse des Analysedrucks auf dem Terminal erfolgt. |
-wr, --write-result | Ein optionaler Parameter, der die Rettung auf der Festplatte der Ergebnisse der Analyse der einzelnen Dateien bestimmt. Akzeptiert als Werte: ask , always skip .Standard: ask Sie nach Bestätigung. |
-fr, --format-result | Ein optionaler Parameter, der das Format bestimmt, mit dem die erhaltenen Daten gespeichert sind. Akzeptiert als Werte: json , csv .Standard: json . |
--debug-analysis | Ein optionaler Parameter, der, falls bereitgestellt wird, eine Debug -Analyse auf dem AST durchführt. |
Zum Beispiel möchten Sie einen Smart-Contract analysieren, um die Verwendung des eigenen Musters zu identifizieren und den Befehl auszuführen:
python analyzer.py -a analyze -t ./source_code.sol -d ./Ownership_descriptor.json --print-result --write-result always --plot always(zurück nach oben)
Die Software wird unter MIT -Lizenz veröffentlicht. Weitere Informationen finden Sie LICENSE .
(zurück nach oben)
(zurück nach oben)