Refactoring TuCSoN/ReSpecT source code and development process

Refactoring TuCSoN/ReSpecT source code and development process

classic project



TuCSoN/ReSpecT development spanned over several years, employing several students and researchers adopting different styles, convections, and practices. The result is a working but difficult-to-maintain software artefact upon which still depends the work of a lot of researchers. This project aims at refactoring both the current implementation and the development process. For what concerns the source code: redundancy should be removed, unit and integration tests should be defined, a build system (such as Gradle) should be adopted; the code should be portioned into agent-side and node-side, making the two partitions individually deployable. Moreover, the number of thread employed by the current implementation should be minimized by means of selective IO. API documentation and informal semantics should appear onto some public Wiki. For what concerns the development process, conventions should be enforced by means of IDE plugins; GitFlow and Continuous Integration should be adopted, supporting maintenance and deployment; and issue tracking should be opened for users wanting to report bugs or problems.

Learning Goals

This project will teach you how to handle a medium-to-large project development process, mimicking a real-world scenario where you contribute to a pre-existing open-source project that will continue to live after you leave. You will gain horizontal skills that may be appreciated within the industries.




— a.y.


— credits


— cycle

2nd cycle

— language



— professor

Andrea Omicini

— other professors

Stefano Mariani

— tutors

Giovanni Ciatto


— university

Alma Mater Studiorum-Università di Bologna

— campus


— department / faculty / school


— 2nd cycle

8614 Ingegneria e scienze informatiche 

URLs & IDs

AMS Page
course on IOL
Course Timetable

— course ID


Partita IVA: 01131710376 — Copyright © 2008–2023 APICe@DISI – PRIVACY