Carmine Vassallo

laaber-pic

 

Research Assistant

 

Address:
University of Zurich
Department of Informatics
Binzmühlestrasse 14
CH-8050 Zurich, Switzerland

Phone: +41 44 63 567 57

   

Twitter

@ccvassallo

Email vassallo@ifi.uzh.ch
Office BIN 2.B.17

Short Bio

I'm a PhD student at the Software Evolution and Architecture Lab led by Harald Gall since September 2016.

In 2013, I received my Bachelor Degree (summa cum laude) from the University of Sannio (Italy) with the thesis entitled "Mining of Methods' Descriptions from StackOverflow", where I developed CODES, an Eclipse plugin that automatically extracts methods' descriptions of Java Systems from discussions in StackOverflow. In 2014 CODES was awarded with the Best Tool Award at the 22nd IEEE International Conference on Program Comprehension (ICPC), in India.

In 2015 I stayed for four months in Amsterdam (Nederland) to do an internship at ING NEDERLAND. I conducted a research work inside the Continuous Delivery team (partially funded by ERASMUS+ program). Main Task: investigation of the practices adopted by DevOps teams during the software development and discovering of new ways to improve the software release process.

In 2016, I received my Master Degree (summa cum laude) from the University of Sannio (Italy) with the thesis entitled "Build Failures in Continuous Delivery: a Case Study at ING Nederland".

Research Overview

Continuous Delivery is the ability to deliver new software updates into production, or into the hands of users, safely (e.g., no bugs) and quickly (e.g., multiple releases per day). It perfectly fits with the emerging figure of DevOps.

The core ingredient for a successful CD pipeline is Continuous Integration (CI). Continuous Integration (CI) is a development practice aiming at continuously building new software. When developers push changes to a shared repository, CI requires to compile, test, and quality assure the modified software product so that developers can immediately know how their changes fit with the software being developed.

CI is all but easy to deploy in both well-established and new organizations. Developers mainly struggle with build failures, overly long build times, build process automation, and lack of support for their desired workflow.

My goal is to assist developers while applying CI by providing them with CI Analytics.
CI Analytics can help them in preventing their CI practice from decaying, so from losing its huge benefits in the terms of fast and safe integration of new changes. For some of the worrisome trends spotted by CI Analytics, the solution is a proper configuration of CI features.

Failures are part of the game and need to be properly handled. We developed a tool called BART that extracts information during the CI pipeline execution to provide assistance while fixing CI failures such as build failures.

You find all presentations related to my research on Speaker Deck

lean

 

LEAN Approach

I try to follow this methodology in the research (and in daily life as well) 

  1. Think about improvements/ideas
  2. Measure them when applied to a real context (discuss with others)
  3. Learn about faults to refine the previous idea (accept good suggestions from other people)

 

Image from http://thecommunitymanager.com/2012/08/01/the-lean-community/  

Publications

  • Carmine Vassallo, Fabio Palomba, Alberto Bacchelli, Harald Gall, Continuous Code Quality: Are We (Really) Doing That?. In Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE), Montpellier, France, 2018. [Preprint pdf] [Presentation pdf]
  • Carmine Vassallo, Fabio Palomba, Harald Gall, Continuous Refactoring in CI: A Preliminary Study On the Perceived Advantages and Barriers. In Proceedings of the 34th International Conference on Software Maintenance and Evolution (ICSME), Madrid, Spain, 2018. This paper has been featured on DZone[Preprint pdf] [Presentation pdf]
  • Carmine Vassallo, Sebastian Proksch, Timothy Zemp, Harald Gall, Un-Break My Build: Assisting Developers with Build Repair Hints. In Proceedings of 26th IEEE/ACM International Conference on Program Comprehension (ICPC), Gothenburg, Sweden, 2018.This paper has been invited for extension to Journal of Empirical Software Engineering (EMSE). [Preprint pdf] [Presentation pdf]
  • Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, Sebastian Proksch, Andy Zaidman, Harald Gall, Context Is King: The Developer Perspective on the Usage of Static Analysis Tools. In Proceedings of 25th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Campobasso, Italy, 2018. This paper has been invited for extension to Journal of Empirical Software Engineering (EMSE). [Preprint pdf] [Presentation pdf]
  • Carmine Vassallo, Gerald Schermann, Fiorella Zampetti, Daniele Romano, Philipp Leitner, Andy Zaidman, Massimiliano Di Penta, and Sebastiano Panichella, A Tale of CI Build Failures: an Open Source and a Financial Organisation Perspective. In Proceedings of the 33rd International Conference on Software Maintenance and Evolution (ICSME), Shanghai, China, 2017. [Preprint pdf] [Presentation pdf]
  • Carmine Vassallo, Fiorella Zampetti, Daniele Romano, Moritz Beller, Annibale Panichella, Massimiliano Di Penta, Andy Zaidman, Continuous Delivery Practice in a Large Financial Organisation. International Conference on Software Maintenance and Evolution (ICSME), Raleigh (NC, USA), September, 2016. [Preprint pdf]
  • Carmine Vassallo, Sebastiano Panichella, Massimiliano Di Penta, and Gerardo Canfora, CODES: mining source code descriptions from developers discussions. The 22nd International Conference on Program Comprehension (ICPC), Hyderabad (India), June 2014. [pdf] [video]

Teaching

Theses/MBM

If you are interested in Continuous Integration/Delivery and generally in Agile Practices, contact me or pass by my office.

Supervised students:

  1. Antonio Galluccio (Bachelor Thesis, finished) - TestDescriber: toward improving automated test case generation (together with Prof. Harald Gall and Sebastiano Panichella)
  2. Timothy Zemp (Bachelor Thesis, finished) - Bart: A tool for supporting DevOps during CD breaks (together with Prof. Harald Gall)
  3. Nicolas Gordillo (MBM, finished) - ContiNo (together with Prof. Harald Gall and Sebastian Proksch)
  4. Alex Scheitlin (Bachelor Thesis, in progress) - In-IDE BFR (together with Prof. Harald Gall and Sebastian Proksch)
  5. Jonas Klass (Bachelor Thesis, in progress) - Machine Learning Approach for CCQ scheduling in CI (together with Prof. Alberto Bacchelli and Fabio Palomba)