Treffer: Image-based programming language recognition
Weitere Informationen
Nel presente lavoro di tesi viene affrontato per la prima volta il problema della classificazione dei linguaggi di programmazione mediante approcci image-based. Abbiamo utilizzato alcune Convolutional Neural Network pre-addestrate su task di classificazione di immagini, adattandole alla classificazione di immagini contenenti porzioni di codice sorgente scritto in 149 diversi linguaggi di programmazione. I nostri risultati hanno dimostrato che tali modelli riescono ad apprendere, con buone prestazioni, le feature lessicali presenti nel testo. Aggiungendo del rumore, tramite modifica dei caratteri presenti nelle immagini, siamo riusciti a comprendere quali fossero i caratteri che meglio permettevano ai modelli di discriminare tra una una classe e l’altra. Il risultato, confermato tramite l’utilizzo di tecniche di visualizzazione come la Class Activation Mapping, è che la rete riesce ad apprendere delle feature lessicali di basso livello concentrandosi in particolare sui simboli tipici di ogni linguaggio di programmazione (come punteggiatura e parentesi), piuttosto che sui caratteri alfanumerici.