Home

Linee guida per la stesura della Tesi di Laurea

Queste linee guida servono per la richiesta e la consegna della tesi. Si prega di far riferimento al vademecum ufficiale [1] (e di leggerlo prima di richiedere informazioni!) dell'università. Queste linee guida riguardano lo svolgimento della tesi con me come relatore, principalmente nel campo della sicurezza informatica.

I punti riguardano sia Tesi triennali che Tesi magistrali.

TL;DR: Questo documento è lungo, non c'è TL;DR. Per svolgere la tesi dovrete leggere almeno 10/15 documenti, non fermatevi già a questo. :)

Richiesta della tesi

Per richiedere la tesi è necessario inviare una mail al mio indirizzo istituzionale contenenti queste informazioni principali:

Scrittura

Plagio e Proof reading

Prima di inviare una revisione della tesi di laurea, assicuratevi di aver seguito questi punti:

Invio Tesi

Non è necessario inviare la tesi capitolo per capitolo. Quando vi sentite pronti, potete inviare alcune parti per capire se state procedendo nella direzione giusta.

Richiedo comunque alcuni update durante la stesura della tesi, p.e. durante lo sviluppo di un eventuale applicativo, fatevi sentire. :)

Evitate di inviare la tesi per sistemi alternativi alle semplici e-mail (Meet, Teams o Telegram).

Evitate di inviare la tesi non in formato PDF (DOCX, ODT, ...). Il formato PDF è quello da consegnare sul sito ufficiale, consegnando altro potrei perdere problemi tipografici.

N.B.: Normalmente ho molti tesisti per sessione. Consegnate la tesi per tempo!


[1] Disponibile qui sotto la voce "Regolamento della Prova finale e della Tesi di Laurea" [2] https://overleaf.com
[3] https://en.wikipedia.org/wiki/Link_rot



Allucinazione di ChatGPT su codice Python

Dopo aver chiesto "Crea un programma python per ottenere gli indirizzi ipv6 presenti all'interno di una stringa" ChatGPT ha risposto nel seguente modo:


Risposta di ChatGPT

Per estrarre gli indirizzi IPv6 presenti all'interno di una stringa, possiamo utilizzare una espressione regolare in Python. Un indirizzo IPv6 ha una struttura abbastanza definita e può essere riconosciuto con un pattern regolare.

Ecco un programma Python che trova tutti gli indirizzi IPv6 all'interno di una stringa:

Codice Python


import re

def extract_ipv6_addresses(text):
    """
    Estrae gli indirizzi IPv6 da una stringa.
    
    :param text: La stringa da cui estrarre gli indirizzi IPv6.
    :return: Una lista di indirizzi IPv6 trovati.
    """
    # Pattern per l'indirizzo IPv6
    ipv6_pattern = r'\b([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b'
    
    # Trova tutte le corrispondenze di indirizzi IPv6 nella stringa
    ipv6_addresses = re.findall(ipv6_pattern, text)
    
    return ipv6_addresses

# Esempio di utilizzo
if __name__ == "__main__":
    test_string = "I have two IPv6 addresses:
      2001:0db8:85a3:0000:0000:8a2e:0370:7334
      and 2001:db8::ff00:42:8329."
    ipv6_addresses = extract_ipv6_addresses(test_string)
    
    print("Indirizzi IPv6 trovati:")
    for address in ipv6_addresses:
        print(address)

Spiegazione del codice


  1. Pattern Regolare:
    • L'espressione regolare utilizzata (r'\b([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}\b') cattura gli indirizzi IPv6.
    • L'indirizzo IPv6 è formato da 8 gruppi di 1-4 caratteri esadecimali separati da due punti (:). Ogni gruppo può essere da 1 a 4 caratteri, come in 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
    • La parte \b indica un "confine di parola", in modo che il pattern riconosca l'indirizzo solo come entità separata (non parte di una parola più lunga).
  2. Funzione re.findall:
    • re.findall trova tutte le occorrenze del pattern nella stringa di testo e le restituisce come lista.
  3. Esempio:
    • La stringa di esempio contiene due indirizzi IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 e 2001:db8::ff00:42:8329.

Esempio di Output

Se esegui il programma con il testo di esempio:

Input:


I have two IPv6 addresses: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
and 2001:db8::ff00:42:8329.

Output:


Indirizzi IPv6 trovati:
2001:0db8:85a3:0000:0000:8a2e:0370:7334
2001:db8::ff00:42:8329

Considerazioni


Se hai altre domande o vuoi modificare il programma per casi specifici, fammi sapere! 😊

Nonostante sia veramente credibile (dato uno sguardo veloce è difficile accorgersi dell'errore), si può facilmente notare che, a parte la schematicità del discorso, pieno di elenchi puntati, il programma non è corretto. Basta lanciarlo:

guest@generic:~$ python3 /tmp/test.py
Indirizzi IPv6 trovati:
0370:

Non sono un grande esperto di ChatGPT e non l'ho "fregato" con richieste particolari o indotto in tentazione, ho solo creato un paio di programmi prima di incorrere in un suo strafalcione...