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.

Progetti vari

Un aggiornamento sintetico sui temi di progetto disponibili direttamente con me.

Alcuni argomenti di interesse al momento sono:

  • Green IT: ottimizzazioni del codice C/Java per ridurre il consumo di potenza, studi comparativi relativi al consumo di potenza della stessa applicazione progettata con linguaggi e/o modelli di programmazione diversi;
  • Compilatori per linguaggi di programmazione parallela: OpenMP, OpenCL, CUDA e altre varianti di C per calcolo ad alte prestazioni;
  • Sviluppo di applicazioni su GPGPU in CUDA: in particolare applicazioni crittografiche, ma anche di altro tipo, e.g. SAT solving, sintesi logica, riconoscimento di sequenze.

E' anche possibile lavorare su altri temi, come:

  • Sviluppo di simulatori MIPS (funzionali o cycle-accurate)
  • Sviluppo di tool di reporting/accounting in AJAX o OpenOffice Uno
  • Compilatori per architetture dedicate (con instruction set estendibile e/o configurabile)
  • Compilatori per linguaggi application-specific (in particolare, per applicazioni crittografiche)
· 2010/03/04 11:30 · Giovanni Agosta

OpenMP and OpenCL benchmark suites

The goal of this project is to design and implement a application benchmark suites for the OpenMP/C and OpenCL extensions of the C language.

The project is suitable for both for undergraduates and graduates students (1 to 3 students depending on the application set).

The applications will be selected according to the number/type of students.

Contacts

Dynamic Library Wrapper for Call Interception

The goal of this project is to develop a program able to generate dynamic library wrappers (only Linux .so format will be considered).

The developed program should be able to correctly parse the .so format , extract all the externally exported symbols and generate a C source of a wrapper library which by default forwards the function call to the original library.

The aim of this project is to develop a useful tool for debug and eventually reverse engineer compiled libraries.

There is no specific requirement as far as the language of implementation is concerned.

The project is suitable for both the “progetto di ingegneria informatica” and “laboratorio software” courses and may be extended to a thesis.

Contact

OpenOffice Reporting/Accounting Tool

Goal of this project is to produce a suite of OpenOffice Python scripts to automate the generation of research reporting and accounting tasks for the Formal Languages & Compiler Group.

The tool takes as input a spreadsheet describing the research effort (manpower spent on various research projects) of the group for a given year, and produces time sheets formatted according to the department requirements for each group member.

Requirements: the project must be implemented as a set of OpenOffice macros. For maintainability, Python should be used through the PyUNO binding to the OpenOffice component model.

Contact:

User-level Versioning File System

Wayback is a user-level versioning file system, based upon FUSE (version 2.8)

Right now, its log files intercept every single modification to the versioned file system. This leads to very cluttered log files, where it is quite hard for the user to find the previous version of a given file.

Goal of this project is to modify the logging mechanism, so that is only records the modifications to the files performed by the user (hiding temporary files automatically created by programs).

Required skills: sound C programming skills. Some knowledge of versioning systems may help.

Contacts:

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