Refactoring TuCSoN/ReSpecT source code and development process


Authors

Syllabus

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.

References

Material

Corso

— a.a.

2017/2018

— crediti

6

— livello

laurea magistrale

— lingua di insegnamento

wit.gif

Docenti

— professore/ssa

Andrea Omicini

— altri/e docenti

Stefano Mariani

— tutor

Giovanni Ciatto

Contesto

— università

Alma Mater Studiorum-Università di Bologna

— campus

Cesena

— dipartimento / facoltà / scuola

DISI

— laurea magistrale

8614 Ingegneria e scienze informatiche 

URL & ID

pagina AMS
corso su IOL
orario lezioni

— ID corso

58260

Partita IVA: 01131710376 - Copyright © 2008-2022 APICe@DISI Research Group - PRIVACY