
Un utilitaire pour la reconnaissance du modèle de conception sur la blockchain par analyse statique du code
Cette lecture est disponible dans les langues suivantes:
Italien · anglais
Après le degré, le projet a subi une variété et des améliorations, donc ce qui est décrit dans l'élaboration de la thèse peut ne pas refléter plus fiable.
Pour voir le projet sous la forme décrite dans l'élaboration de la thèse et de la thèse elle-même, reportez-vous à la branche frozen , cliquez ici.
Solidity Design Pattern Analyzer est une application logicielle développée pour ma thèse de diplôme pour le CDL de trois ans en informatique à l'Université de Catane.
L'application logicielle et capable d'effectuer les opérations suivantes:
(retour en haut)
(retour en haut)
Avant d'utiliser l'application, il est nécessaire d'installer des dépendances.
Pour installer des employés, vous pouvez utiliser le package d'installation Python appelé PIP :
pip install -r requirements.txtpython3 -m venv /path/to/new/virtual/environment
source /path/to/new/virtual/environment/bin/activate
pip install -r requirements.txtPour utiliser l'analyseur, il est nécessaire de fournir une série de paramètres, répertoriés ici:
| Paramètre | Description |
|---|---|
-h, --help | Un paramètre facultatif qui, s'il est fourni, fera un guide sur l'utilisation dans le terminal |
-a, --action | Un paramètre obligatoire qui accepte uniquement analyze et describe les valeurs, selon l'opération que vous souhaitez effectuer. |
-t, --target | Un paramètre obligatoire qui représente le chemin absolu ou relatif du fichier ou du dossier contenant le code source de solide. Si un répertoire est fourni, le modalità batch sera effectué qui enregistrera tous les résultats obtenus dans un seul fichier. |
-d, --descriptor | Un paramètre facultatif pour l'opération analyze qui représente le chemin, absolu ou relatif, du fichier ou du dossier contenant le Design Pattern Descriptor .Si vous omettez un chemin prédéfini, il sera utilisé. |
-v, --verbose | Un paramètre facultatif qui, s'il est fourni, peut imprimer les débogages se connecter au terminal, normalement non affiché. |
-ai, --allow-incompatible | Un paramètre facultatif qui détermine le contrôle de la compatibilité de la version de Soliditch utilisé dans le fichier fourni. Accepte les valeurs: ask , skip , always .Par défaut: ask , demande la confirmation. |
-p, --plot | Un paramètre facultatif qui détermine l'affichage d'un graphique récapitulatif. Accepte les valeurs: ask , skip , always .Par défaut: ask , demande la confirmation. |
-pr, --print-result | Un paramètre facultatif qui, s'il est fourni, fera un résumé des résultats obtenus à partir de l'impression d'analyse sur le terminal. |
-wr, --write-result | Un paramètre facultatif qui détermine le sauvetage sur le disque des résultats obtenus à partir de l'analyse des fichiers individuels. Accepte les valeurs: ask , skip , always .Par défaut: ask , demande la confirmation. |
-fr, --format-result | Un paramètre facultatif qui détermine le format auquel les données obtenues sont enregistrées. Accepte les valeurs: json , csv .Par défaut: json . |
--debug-analysis | Un paramètre facultatif qui, s'il est fourni, effectuera une analyse de débogage sur l'AST. |
Par exemple, la vouloir analyser un contrat intelligent afin d'identifier l'utilisation du modèle de propriétaire et doit exécuter la commande:
python analyzer.py -a analyze -t ./source_code.sol -d ./Ownership_descriptor.json --print-result --write-result always --plot always(retour en haut)
Le logiciel est publié sous licence MIT. Afficher LICENSE pour plus d'informations.
(retour en haut)
(retour en haut)