Research topics
Development of software systems
- OTS based development (COTS and open source): selection and
evaluation techniques, integration technologies, repositories,
processes, cost and effort estimation models, surveys on industrial
practices
- agile methodologies: test driven development, integration of
agile methodologies in CMM processes
- validation and acceptance of outsourced services and systems
- characterization of software companies and projects
- analysis of success and failure factors of software projects
Development of mobile applications
- technologies, operating systems and platforms (Android, IPhone,
Symbian)
- components: recommenders, voters, localisation, augmented reality
- domains: social networking, reading communities, teaching
Service engineering
In the context of Service-Oriented Computing (SOC) and Service Oriented
Architecture (SOA), our research focuses on:
- formal contract-based interface specification, publishing,
searching
- service-sevel agreement negotiation
- semantic service discovery
- service composition
- service validation and trust
Evolution and maintenance of software systems
- structural and dimensional evolution of open source systems
- techniques and methods to convert applications from web to
wireless
- processes and group dynamics in open source systems
Experimental approach and collaboration with industry
We consider a new technique successful only if we can prove objectively
that it provides advantages in a real life context. Real life
conditions for
software development, including pressure and large size, cannot be
fully
reproduced in an academic setting. For this reason we consider
essential to
collaborate strictly with industry.
The complete cycle that we use for experimental validation of a
technique is:
- experimentation with students and/or small scale projects in
university setting
- experimentation with case studies in industry
- technology transfer in day to day industrial practice
Training and consulting
In a perspective of technology transfer of established techniques we
can offer
consulting and training on:
- UML
- Java and object oriented development
- Aspect Oriented Programming
- Agile methodologies (eXtreme Programming, Scrum, etc.)
- Software quality
- Quantitative software project management and software metrics
|