Carmine Vassallo

laaber-pic

 

Researcher

 

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

Phone: +41 44 63 575 80

   

Twitter

@ccvassallo

Email vassallo@ifi.uzh.ch
Office BIN 2.D.05

Latest News

  • I am on the job market! Do you have an opening? Contact me!
  • [05.10.2020] I'll be a speaker at Continuous Testing SKILup Day
  • [18.09.2020] I successfully defended my thesis with distinction 🥳
  • [19.05.2020] New paper accepted at ESEC/FSE 2020 (preprint)
  • [04.05.2020] I was invited to join the ASE 2020 NIER Committee

Short Bio

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

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

In 2015, I interned at ING Nederland (Amsterdam) for four months (partially supported by an ERASMUS+ grant) to study the DevOps transformation and its effects on software development. This experience was crucial to build my research topic (and to decide to do a PhD). 

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

In 2020, I received my Doctoral Degree (summa cum laude) from the University of Zurich defending the thesis "Principle-Driven Continuous Integration: Simplifying Failure Discovery and Raising Anti-Pattern Awareness" (Preprint).

Look at my CV.

Research Overview

Continuous Integration (CI) and Delivery (CD) enable developers to reduce the frequency and severity of merge conflicts and to build reliable software that can be immediately released. Developers integrate code changes into a shared repository and those changes get verified (they get compiled, tested, and quality checked) through an automated build infrastructure. Based on a recent survey, 62% of the organizations have a build system configured in their projects.

However, installing a build system is not sufficient to practice CI/CD well and several organizations do not achieve expected benefits such as an improved reliability, a better productivity, and faster releases. To benefit from CI/CD, organizations need to establish a new culture of developing software within their teams and follow new principles.

Living up to those principles is not easy and developers tend to deviate from them generating anti-patterns, common but ineffective solutions to a recurring problem that break the CI/CD practice. When working on a feature, for example, developers open a branch and keep working for weeks before merging it.

In my research work, I help developers with removing those bad practices through a static and dynamic analysis of their CI/CD pipelines.

Look at my presentations on Speaker Deck

Publications

  • NEW! Carmine Vassallo, Sebastian Proksch, Anna Jancso, Harald C. Gall, Massimiliano Di Penta, Configuration Smells in Continuous Delivery Pipelines: A Linter and A Six-Month Study on GitLab. The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), Research Track, Sacramento, California, United States, 2020. [Preprint pdf] We earned the ACM available, functional, and reusable badges for this paper
  • Fiorella Zampetti, Carmine Vassallo, Sebastiano Panichella, Gerardo Canfora, Harald C. Gall, Massimiliano Di Penta, An Empirical Characterization of Bad Practices in Continuous Integration. Empirical Software Engineering Journal (EMSE), Springer, 2020. This paper has been accepted at the ICSE 2020 Journal First track  [Preprint pdf]
  • Carmine Vassallo, Sebastian Proksch, Timothy Zemp, Harald Gall, Every Build You Break: Developer-Oriented Assistance for Build Failure Resolution. Empirical Software Engineering Journal (EMSE), Springer, 2019. [Preprint pdf]
  • Carmine Vassallo, Enabling Continuous Improvement of a Continuous Integration Process. In Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE) Doctoral Symposium, San Diego, California, United States, 2019.
  • Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, Sebastian Proksch, Harald Gall, Andy Zaidman, How Developers Engage with Static Analysis Tools in Different Contexts. Empirical Software Engineering Journal (EMSE), Springer, 2019. [Preprint pdf]
  • Carmine Vassallo, Sebastian Proksch, Harald Gall, Massimiliano Di Penta, Automated Reporting of Anti-Patterns and Decay in Continuous Integration. In Proceedings of the 41st IEEE/ACM International Conference on Software Engineering (ICSE) technical track, Montréal, Canada, 2019. [Preprint pdf] [Presentation pdfWe earned the ACM available and reusable badges for this paper
  • 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, 2018This paper has been featured on DZone. [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 Experience

Theses/MBM/Projects

I'm always interested in working with new students on exciting projects! Drop me a line to know more about the available topics.

I had the pleasure of supervising:

  1. Antonio Galluccio (Bachelor Thesis, completed) - TestDescriber: toward improving automated test case generation (together with Prof. Harald Gall and Sebastiano Panichella)
  2. Timothy Zemp (Bachelor Thesis, completed) - Bart: A tool for supporting DevOps during CD breaks (together with Prof. Harald Gall)
  3. Nicolas Gordillo (MBM, completed) - ContiNo (together with Prof. Harald Gall and Sebastian Proksch)
  4. Alex Scheitlin (Bachelor Thesis, completed) - In-IDE BFR (together with Prof. Harald Gall and Sebastian Proksch)
  5. Jonas Klass (Bachelor Thesis, completed) - Machine Learning Approach for CCQ scheduling in CI (together with Prof. Alberto Bacchelli and Fabio Palomba)
  6. Nicolas Gordillo and Sebastian Sanchez (Master Project, completed) - ContiNo (together with Prof. Harald Gall and Sebastian Proksch)
  7. Jenny Schmid (MBM, completed) - Measuring success in open-source projects (together with Prof. Harald Gall)
  8. Emirald Mateli (Master Thesis, completed) - Automated repair of CI build failures (together with Prof. Harald Gall)