Progetti di Laboratorio Software

Questa pagina contiene un elenco di progetti per il corso di Laboratorio Software costantemente aggiornato.

Qui trovate anche una lista sintetica dei vari progetti proposti direttamente da me (eventualmente in collaborazione con altri docenti e dottorandi).

Per progetti nell'ambito della Robotica e dell'Intelligenza Artificiale, consultate il sito del gruppo AIR.

Lista sintetica

Questa lista contiene una sintesi dei progetti disponibili quest'anno (su richiesta, potrebbere essere ancora disponibili i progetti dello scorso anno).

Project Field Tutor
OpenMP and OpenCL benchmark suites Parallel Programming Giovanni Agosta
Dynamic Wrapper for Call Interception Operating Systems Alessandro Barenghi
OpenOffice Reporting/Accounting Tool Office automation Giovanni Agosta
Static Code Analysis for Vulnerability Identification Security Giovanni Agosta, Alessandro Barenghi
Reconfiguration 4 Reliability FPGA design Antonio Miele
Fault Injection and Analysis Framework for FPGA design FPGA design Antonio Miele
Reliability-driven System-level Synthesis for Embedded Systems HW/SW co-design Antonio Miele
A Data personalization Framework based on Context-aware Preferences DB systems Antonio Miele
Asynchronous Delegates in ILDJIT ILDJIT Simone Campanoni
SAT on CUDA CUDA Giovanni Agosta, Alessandro Barenghi,Gerardo Pelosi
Bioinformatics Bio Marco Masseroli
Development of C# Testbench Server Applications Giovanni Agosta, Danilo Ardagna, Simone Campanoni
GPU-based cryptography GPGPU Giovanni Agosta, Danilo Ardagna, Alessandro Barenghi
ILDJIT Internal Calls .Net Simone Campanoni, Giovanni Agosta
Download dati da log GPS Ivan Rech
Sistemi di Comunicazione per Disabili Prof. B. Pernici
Optimization shell for ILDJIT Optimization Simone Campanoni
Register-Memory Synchronization for ILDJIT Compilers Simone Campanoni
Installation Tool for ILDJIT GUI Install tool Simone Campanoni
XanLib development Containers library Simone Campanoni
Graphical Profiler for .NET VM GUI profiler tool Simone Campanoni
MIPD Profile for Jelatine Palmtop software Giovanni Agosta
Logic Synthesis Software re-engineering Giovanni Agosta, Gerardo Pelosi
Optimization of resource allocation for web applications in autonomic systems Optimization algorithms Danilo Ardagna
Data recovery tools Forensic Giovanni Agosta, Alessandro Barenghi
Game Scripting Computer Games Giovanni Agosta, Alessandro Barenghi
Functional Processor Simulation HW Architectures Giovanni Agosta
J2ME MIDP Profile for Jelatine J2ME Giovanni Agosta
Web Applications AJAX Giovanni Agosta
HTML 2 Wiki Converter Bison/Flex Giovanni Agosta

Lista completa dei progetti

In questa lista, i progetti compaiono a partire dagli inserimenti più recenti.

Data Recovery Tools

The goal of these projects is to build a complete data recovery suite with forensic oriented features such as recovering data from hidden spots in the file system. The project also includes the construction of a multiplatform GUI in order to increase the usability of the tool.

The project can be taken by one to thre students (depending on the tools implemented), and will require C programming.

Links:

· 2008/01/28 10:06 · Giovanni Agosta

Trasformazione di file XML

Progetto proposto da Stefano Modafferi

Descrizione: Partendo da un file ws-BPEL annotato per supportare specifiche recovery actions del processo che rappresenta si dovrà generare un file ws-BPEL standard cioè compliant con la versione 1.1.

Linguaggi/Tool da usare: XSLT, suggerito StylusStudio (o ambienti XSLT alternativi)

Informazioni di contorno: struttura dei processi ws-BPEL (nozioni di base fornite dal docente)

Estendibilità: sono disponibili tesi sull'argomento.

DaCapo Benchmarks in C#

This project aims at the porting of the DaCapo benchmark suite from Java to C#.

The project is suitable for one to three students.

The contact person for this project is Simone Campanoni

This project is not anymore available

However, it is possible to work on the design of new C# benchmarks.

· 2007/11/21 09:46 · Giovanni Agosta

Vulnerability identification in ECMA 335

Project goal: check the possibility to exploit features of the ECMA 335 specification for system intrusion.

Project tasks: develop C#/CIL programs to test the behaviour of the ECMA 335 implementations (.NET, Mono, Portable.Net, ILDJIT) and, where possible, identify the vulnerabilities.

This project is offered in collaboration with G. Pelosi and A. Barenghi.

Allocazione ottima delle risorse per applicazioni Web in sistemi multi-tier in sistemi di Autonomic Computing

Proponente: Ing. D. Ardagna.

Per ridurre i costi dell'infrastruttura informatica le aziende molto spesso effettuano l'outsourcing dei loro sistemi IT a terze parti. I moderni Service center devono così offrire i loro servizi a molti clienti che condividono l'infrastruttura IT. Ciò richiede un uso efficiente delle risorse da parte dei Service Provider. L'obiettivo del progetto è quello di realizzare un sistema di allocazione delle risorse (RA) per l'infrastruttura informatica dei moderni Service center nell'ambito di sistemi di Autonomic Computing. La principale problematica in quest'ambito è legata all'alta variabilità del carico delle applicazioni, per cui non è possibile effettuare un'allocazione delle risorse in modo statico ma le risorse devono essere ri-assegnate tra le varie applicazioni periodicamente (ad es. ogni 10-30 minuti) sulla base di predizioni di carico di breve periodo. L'obiettivo dell'RA è quello di massimizzare i profitti derivanti dai contratti di Service Level Agreement (SLA). Il modello di costo considera i revenue e le penalty che vengono ottenuti o devono essere sostenute a seconda che i vincoli di qualità del servizio vengano soddisfatti o violati. L'RA stabilisce il load-balancing delle richieste sui vari server e la frazione della capacità dei server che dovrà essere dedicata ad ogni applicazione. L'RA può anche spegnere alcuni server in condizioni di basso carico, oppure effettuare lo scaling delle fequenze di funzionamento delle CPU.

Il progetto prevede lo sviluppo di un programma Java che, ricevendo in ingresso alcuni parametri relativi alle caratteristiche delle applicazioni e dei server fisici da gestire, determini configurazioni ottima del sistema (quanti server allocare ad un Tier fisico, come effettuare il placing delle applicazioni sui server, come effettuare il load balancing delle richieste in ingresso, ecc.).

In particolare si dovrà realizzare un algoritmo di ottimizzazione euristico che si integri con un modulo software per l'analisi di modelli a reti di code. L'euristica implementerà un algoritmo iterativo (una ricerca locale) che andrà a modificare, secondo opportuni criteri, la configurazione corrente del sistema e ne valuterà le prestazioni in modo da spostarsi ad ogni passo su una soluzione migliorante fino a trovare un ottimo locale.

teaching/projects.txt · Last modified: 2010/03/04 11:32 by agosta
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki