All posts

160 elements
All content in this website
26 June 2017 Bachelor Project

Smart-IVC

Andrea Vicari · Bachelor of Science in Informatics

20 May 2017 Paper
10948 words · 55 minutes

Supporting Software Developers with a Holistic Recommender System

The promise of recommender systems is to provide intelligent support to developers during their programming tasks. Such support ranges from suggesting program entities to taking into account pertinent QnA pages. However, current recommender systems limit the context analysis to change history and developers' activities in the IDE, without considering what a developer has already consulted or perused, e.g., by performing searches from the Web browser. Given the faceted nature of many programming tasks, and the incompleteness of the information provided by a single artifact, several heterogeneous resources are required to obtain the broader picture needed by a developer to accomplish a task. We present Libra, a holistic recommender system. It supports the process of searching and navigating the information needed by constructing a holistic meta-information model of the resources perused by a developer, analyzing their semantic relationships, and augmenting the web browser with a dedicated interactive navigation chart. The quantitative and qualitative evaluation of Libra provides evidence that a holistic analysis of a developer's information context can indeed offer comprehensive and contextualized support to information navigation and retrieval during software development.

Supporting Software Developers with a Holistic Recommender System
31 March 2017 Project Completed

ESSENTIALS: People-centric Essentials for Software Evolution

Shifting the focus of software evolution research to the people-centric 'evolutionary essentials' that stakeholders need in their current working context.

ESSENTIALS: People-centric Essentials for Software Evolution
31 March 2017 Project Completed

HI-SEA: Holistic Immersive Software Evolution Ambient

A holistic immersive ambient for software evolution, integrating the data around a project into a visual environment for analysis and intelligent recommendations.

HI-SEA: Holistic Immersive Software Evolution Ambient
20 February 2017 Paper
10745 words · 54 minutes

How to Gamify Software Engineering

Software development, like any prolonged and intellectually demanding activity, can negatively affect the motivation of developers. This is especially true in specific areas of software engineering, such as requirements engineering, test-driven development, bug reporting and fixing, where the creative aspects of programming fall short. The developers' engagement might progressively degrade, potentially impacting their work's quality. Gamification, the use of game elements and game design techniques in non-game contexts, is hailed as a means to boost the motivation of people for a wide range of rote activities. Indeed, well-designed games deeply involve gamers in a positive loop of production, feedback, and reward, eliciting desirable feelings like happiness and collaboration. The question we investigate is how the seemingly frivolous context of games and gamification can be ported to the technically challenging and sober domain of software engineering. Our investigation starts with a review of the state of the art of gamification, supported by a motivating scenario to expose how gamification elements can be integrated in software engineering. We provide a set of basic building blocks to apply gamification techniques, present a conceptual framework to do so, illustrated in two usage contexts, and critically discuss our findings.

Fall 2016 Course

Software Atelier 1: Fundamentals of Informatics (2016)

The first of the ateliers, which are a crucial part of our Bachelor curriculum is roughly divided into three main pieces. On the one hand the students will obtain first-hand experience with a variety of tools of the trade, such as LaTeX, HTML, Versioning, and the unix shell. Second, the students will get an overview of the history of computer science since its very beginning up to the present day. The third part of the atelier is dedicated to a group project, in which students will put into practice what they learned in the course.

Course No tags assigned
1 November 2016 Paper
2239 words · 12 minutes

The Tragedy of Defect Prediction, Prince of Empirical Software Engineering Research

If measured by the number of published papers, defect prediction has become an important research field over the past decade, with many researchers continuously proposing novel approaches to predict defects in software systems. However, most of these approaches have had a noticeable lack of impact on industrial practice. This lack of impact is because something is intrinsically wrong in how defect prediction approaches are evaluated.