Linee guida di scrittura | Linee guida di sviluppo | Tesi in corso | Tesi svolte

Prima di richiedere la tesi…

Prima di richiedere formalmente la tesi, assicuratevi di avere letto con attenzione questa pagina. Leggere con attenzione significa anche e soprattuto seguire gli hyperlink presenti nelle descrizione perché possiate approfondire gli argomenti di tesi.
Quando infine avrete qualcosa da discutere, contattate il responsabile del Collab, prof. Filippo Lanubile

Tesi da assegnare – supervisionate da un ricercatore del Collab

Stack Exchange
Stack Exchange è una rete di siti di Question and Answer (Q&A) su cui si poggiano comunità di utenti che condividono così le loro conoscenze su diversi argomenti, incluso lo sviluppo del software (Stack Overflow). Con milioni di utenti in cerca di informazioni e milioni di domande, risposte e commenti, Stack Exchange è un caso di Big Data da analizzare per migliorare l’efficacia della ricerca di informazioni.

L’attività di ricerca, e le relative tesi, vertono sui seguenti rami principali:

  • Replica indipendente di studi precedenti che hanno effettuato sentiment analysis su artefatti software (bug report, app review), utilizzando un (nostro) classificatore sviluppato specificatamente sul dominio del software engineering.
  • Studiare l’effetto del genere (gender effect) e della mancanza di esperienza e reputazione (newbie users) sulla partecipazione in Stack Overflow. In particolare, attraverso il sentiment analysis delle domande poste in Stack Overflow, intendiamo trovare evidenza circa  la presenza di barriere che causano disugualianza nella partecipazione degli utenti.
  • Il best-answer prediction è un esempio di problema di classificazione binaria nel quale si addestra un modello predittivo per individuare la risposta accettate tra tutte quelle esistenti nei thread delle domande. Finora i modelli predittivi sono stati costruiti usando principalmente proprietà linguistiche delle domande. In questa tesi, intendiamo allargare il set di feature predittive attraverso l’analisi della polarità (sentimento positivo/negativo) nei commenti delle risposte.
  • Mining dei milioni di domande e risposte da Stack Overflow al fine di comprendere l’impatto dei sub-topic (o canali, per esempio, Java, Ruby, Python) e la loro età/dimensione (quanto è mainstream la tecnologia?) sull’accettazione delle risposte e la reputazione degli utenti.

I tesisti utilizzeranno librerie di scraping per l’estrazione dei dati, una piattaforma IaaS per il calcolo e lo storage, risorse linguistiche e strumenti di analisi statistica dei dati e di sentiment analysis.

GitHub
GitHub è un popolare servizio di hosting per progetti software, costruito intorno a Git, il sistema di version control distribuito ideato da Linus Torvalds. GitHub è una piattaforma di social coding in quanto integra strumenti di sviluppo con funzionalità simili a quelle di un social network (per es., feed di attività, followers, preferiti).

Attualmente, la ricerca su GitHub si concentra su due aspetti principali:

  • Effetto del trust e della personalità
    Secondo la letteratura esistente, quando si valuta la bontà di un cotributo (pull request) in GitHub, aspetti social quali la reputazione di uno sviluppatore, il numero di follower, il numero di star ricevute, ecc. sono più importanti di quelli tecnici, quali la presenza e il superamento di casi di test automatici. In questa tesi, intendiamo fare un passo avanti, studiando gli effetti: (i) della personalità dell’integrator manager che ispeziona e decide le sorti del contributo; (ii) della fiducia reciproca (trust) che si instaura nel tempo tra l’integrator manager e l’autore del contributo, attraverso l’invio e la revisione di pull request.
  • Effetto del multitasking sulla presenza di bug nel codice
    Secondo la letteratura esistente, gli sviluppatori che usano GitHub sono soliti lavorare in multitasking — ossia, committano modifiche al codice di progetti diversi nello stesso giorno o nella stessa settimana. Tale pratica corrisponde ad un aumento di produttività, misurata in linee di codice per unità di tempo. Tuttavia, il cambio di contesto tra progetti e linguaggi di programmazione diversi ha un costo di tipo cognitivo. Con questa ricerca, intendiamo stabilire se l’incremento di produttività è controbilanciato da un incremento nel numero di difetti introdotti nel codice creato mentre si lavora in multitasking su più progetti in parallelo.

I tesisti utilizzeranno librerie per l’estrazione dei dati, una piattaforma IaaS per il calcolo e lo storage, risorse linguistiche e strumenti di analisi statistica dei dati e di sentiment analysis.

Comunicazione integrata per DevOps
DevOps rappresenta un insieme di moderne pratiche di sviluppo del software (Development) e gestione dell’infrastruttura (Operations) che mirano alla rapidità dei rilasci software, in particolare in ambito cloud. Le pratiche puntano sia agli aspetti collaborativi, come estensione dello sviluppo agile, che a quelli di automazione delle operazioni di gestione delle infrastrutture.
Per ridurre la frammentazione delle informazioni e l’overload dei canali, abbiamo definito un modello di comunicazione integrata Hub-and-Spoke che può essere istanziato e arricchito con nuovi tool e con plugin di tool esistenti (Slack, Jenkins, Ansible, Chef, Puppet, Docker, ecc.). La comunicazione può essere filtrata, personalizzata e guidata anche con l’aiuto di smart bot, ovvero bot conversazionali che conoscono il dominio, tengono conto del contesto in cui agiscono e dell’utente con cui interagiscono.

I tesisti utlizzeranno le risorse di cloud computing del data center ReCaS-Bari, tra i più grandi e versatili d’Italia, interagendo con il personale tecnico del data center oltre che con i ricercatori del Collab.

Tecnologie assistive
La qualità della vita di persone affette da disabilità può migliorare grazie a sistemi software assistivi che aiutino a svolgere in modo indipendente attività lavorative e ricreative.

Progetti precedenti sono stati condotti in collaborazione con l’associazione Informatici Senza Frontiere (ISF), la cui finalità è mettere a disposizione conoscenze e strumenti informatici per aiutare chi vive situazioni di emarginazione e difficoltà.

  • Scriba: trascrizione realtime in eventi pubblici per non udenti. Il progetto è attivo e suscettibile di estensioni.
  • I Speak Again: una tastiera virtuale guidata dal movimento degli occhi per rendere accessibile il computer a chi ha gravi problemi di mobilità.
  • I Move Again: sedia a rotelle guidata dal movimento degli occhi pensata per pazienti con gravi disabilità motorie.
  • Paperboy/Strillone: un’applicazione web e mobile per consentire agli ipovedenti e ai non vedenti la lettura delle news online.
  • Open Hospital: sistema informatico per la gestione di un ospedale rurale
  • Sensoltre: percorso multisensoriale al buio tra quadri tattili mediante  tecnologia NFC.

Tesi da assegnare – supervisionate da personale tecnico universitario

Data Center ReCaS-Bari
Il data center ReCaS-Bari è stato realizzato dall’Università degli Studi di Bari Aldo Moro e dall’Istituto Nazionale di Fisica Nucleare (INFN) nell’ambito del progetto ReCaS (PON R&C 2007-2013) e completato a luglio 2015. Il Data Center è tra i più grandi e versatili d’Italia, ha una potenza di calcolo equivalente a 15.000 processori ed una capacità di memoria di oltre 6.000 terabyte, con la potenzialità di scambiare dati con l’esterno a una velocità di 10 Gbps. Il data center espone le risorse di calcolo e storage attraverso il paradigma del cloud computing non solo ai ricercatori  nel campo della fisica, ma anche a ricercatori di altre discipline scientifiche, inclusa l’informatica. Di fatto tutto il sistema di gestione del data center è basato su software open source: OpenStack, Docker, Mesos, Kubernetes, OpenNebula. Il lavoro di tesi sarà svolto presso il gruppo di tecnici INFN/UniBA che gestisce il data center.

MAN UniBA / Rete GARR
La rete metropolitana dell’Università di Bari è interconnessa con la rete GARR, la rete italiana per l’università e la ricerca. La rete GARR è a sua volta interconnessa con le altre reti della ricerca europee e mondiali, e con il resto dell’Internet commerciale. Sono disponibili tesi di laurea su argomenti legati sia ad aspetti infrastrutturali che di servizi quali DNS, web hosting, email e sicurezza. Il lavoro di tesi sarà svolto presso il gruppo del Centro Servizi Informatici che gestisce la rete UniBA e il PoP (Point of Presence) del GARR. Per informazioni rivolgersi al Delegato del Rettore per la Rete GARR.

Tesi da assegnare su progetti esterni

Un invito sempre valido è quello di partecipare attivamente a un progetto open source di vostro interesse. Questa è un’opportunità concreta per mettere alla prova e migliorare le vostre capacità, confrontandovi con altri sviluppatori di tutto il mondo. E’ importante che la scelta sia dettata dall’interesse in un’applicazione o una tecnologia, soprattutto se già ne conoscete limiti e pregi: questo renderebbe più semplice l’inizio della collaborazione (ciononostante, ogni vuoto è colmabile). L’applicazione con la quale “provare” la tecnologia potreste averla già individuata oppure potreste trovarla consultando la guida all’open source di GitHub o l’analizzatore di progetti open source Open Hub. Quello che vi si chiede non è granchè diverso dall’iniziativa Google Summer of Code, in cui un manipolo di studenti valorosi sono ingaggiati per pochi mesi al fine di creare o estendere un progetto di open source software. Nel vostro caso il premio è la tesi di laurea.

Dopo che avrete discusso la tesi…

e vi sarete dunque laureati, se ne avrete voglia, potrete iscrivervi al gruppo Yahoo dei laureati Collab.