Squirrel

Microenterprises (companies with less than 10 employees) are the dominating form of organizations in Europe. Unfortunately, many approaches to improve software development processes based on measurement are not tailored for such small companies. This work proposes a measurement tool that is developed with the goal to support microenterprises in measuring their process, product, and usage of the developed software to provide feedback to the entire development team. What the here presented tool wants to propose is to automate not only the data collection, but to be consequent in the rest of the feedback loop: to setup the interpretation and visualization of the data that, once this is done, no more intervention is needed.

Involved researchers: A. Janes, S. Astromskis, M. Gasparic

Context person for the Free University of Bolzano: Gabriele Bavota

ARIES – Automated Refactoring In EclipSe

During software evolution change is the rule rather than the exception. Unfortunately, such changes are usually performed by developers that due to strict deadlines do not have enough time to make sure that every change conforms to OOP guidelines, such as, minimizing coupling and maximizing cohesion of classes. Such careless design solutions often lead to design antipatterns, which negatively impact the quality of a software system, making its maintenance difficult and expensive.  The presence of antipatterns makes the maintenance of a software system difficult (due to the effort required to comprehend the source code) and dangerous (since empirical studies showed that classes with low quality are more error-prone than other classes). Refactoring operations are need to remove such antipatterns from the source code. However, the identification of such operations is not trivial and it might be time-consuming. The ARIES project aims at supporting several refactoring operations in Eclipse, such as Extract Class and Extract Package, Move Method and Move Class.

Involved researchers: G. Bavota, F. Palomba, M. Tufano, R. Oliveto, A. Marcus, D. Poshyvanyk, A. De Lucia

Context person for the Free University of Bolzano: Gabriele Bavota

Landfill

Code smells are symptoms of poor design and implementation choices that may hinder code comprehension and possibly increase change- and fault-proneness of source code. Several techniques have been proposed in the literature for detecting code smells. These techniques are generally evaluated by comparing their accuracy on a set of detected candidate code smells against a manually-produced oracle. Unfortunately, such comprehensive sets of annotated code smells are not available in the literature with only few exceptions. For this reason, we created LANDFILL, a Web-based platform for sharing code smell datasets. It already includes a dataset of 243 instances of five types of code smells identified from 20 open source software projects. LANDFILL also provides a set of APIs for programmatically accessing its contents. Anyone can contribute to Landfill by (i) improving existing datasets (e.g., adding missing instances of code smells, flagging possibly incorrectly classified instances), and (ii) sharing and posting new datasets.

Involved researchers: F. Palomba, D. Di Nucci, M. Tufano, G. Bavota, R. Oliveto, D. Poshyvanyk, and A. De Lucia

Context person for the Free University of Bolzano: Gabriele Bavota