Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

Solidity compiler for the extraction of software quality metrics

Notifications You must be signed in to change notification settings

FrancescoMazzitelli/SolidityMetricsExtractor

Repository files navigation

Unisannio

Tools utilizzati nel progetto

Python Unisannio

Progetto Linguaggi di programmazione e compilatori - Magistrale 2022

Componenti del gruppo:

  • Francesco Cosimo Mazzitelli
  • Jessica Cinelli
  • Francesco Saccone

Requisiti

Per poter eseguire l'applicazione è necessario:

  • Scaricare e installare Java, Maven, qualsiasi IDE che supporti i plugin di ANTLR

Descrizione del progetto

Il seguente progetto prevede la costruzione di un'applicazione in grado di estrarre delle metriche di analisi da un qualsiasi programma realizzato con linguaggio di programmazione Solidity. Quest'ultimo, largamente utilizzato sulla piattaforma Ethereum, consente di realizzare degli automatismi che portano alla definizione di "Smart contracts". Gli Smart Contracts sono dei "contratti" informatici che seguono la logica di programmazione if-then-else, utilizzati nelle blockchain.

La prima operazione svolta è stata la generazione della grammatica associata al linguaggio di programmazione Solidity. Durante questa fase iniziale è stata largamente utilizzata la documentazione di Solidity, consultabile al seguente link.

Tramite il Tool ANTLRv4.7.1.jar, presente nella directory di progetto, sono state generate le classi necessarie a partire dalla grammatica conservata nel file Solidity.g4. Per una più approfondita analisi delle classi autogenerate e per lo sviluppo dell'applicazione è stata utilizzata la documentazione di ANTLR trovata sul sito ufficiale della Java documentation, con riferimento al package org.antlr.v4.runtime.

Visitors

I visitors sono le componenti software utilizzate per l'estrazione delle metriche di qualità. Essi effettuano visite all'AST e tramite la esplorazione estraggono le metriche che vengono poi salvate su un file CSV chiamato metrics.csv reperibile nella cartella OUTPUT

About

Solidity compiler for the extraction of software quality metrics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •