VLDB 2026 Research / reviewers in the wild / expert
Carmine Vassallo
dblp:145/4315
· DBLP profile ↗
14ranked-venue papers
13as first author
0since 2021 · last 2020
0000-0003-0495-6803ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 14 · 13 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
4 papers |
Software maintenance and evolution · 53% Empirical software engineering · 43% Software testing · 4% |
Topics — the 5 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution › release engineering
continuous integration |
1.1 | 3 | 2019 | Enabling Continuous Improvement of a Continuous Integration Process · ASE 2019 Automated reporting of anti-patterns and decay in continuous integration · ICSE 2019 Continuous code quality: are we (really) doing that? · ASE 2018 |
Software maintenance and evolution › build systems
build failure analysis |
0.4 | 1 | 2019 | Enabling Continuous Improvement of a Continuous Integration Process · ASE 2019 |
Empirical software engineering › software analytics
build log analysis |
0.4 | 1 | 2019 | Automated reporting of anti-patterns and decay in continuous integration · ICSE 2019 |
Empirical software engineering
mining software repositories |
0.4 | 1 | 2019 | Automated reporting of anti-patterns and decay in continuous integration · ICSE 2019 |
Software testing
automated testing |
0.1 | 1 | 2018 | Continuous code quality: are we (really) doing that? · ASE 2018 |
Methods — techniques the papers use, named apart from their topics
static linting · 0.4survey · 0.4build log analysis · 0.4empirical study · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Configuration smells in continuous delivery pipelines: a linter and a six-month study on GitLababstractAn effective and efficient application of Continuous Integration (CI) and Delivery (CD) requires software projects to follow certain principles and good practices. Configuring such a CI/CD pipeline is challenging and error-prone. Therefore, automated linters have been proposed to detect errors in the pipeline. While existing linters identify syntactic errors, detect security vulnerabilities or misuse of the features provided by build servers, they do not support developers that want to prevent common misconfigurations of a CD pipeline that potentially violate CD principles (“CD smells”). To this end, we propose CD-Linter, a semantic linter that can automatically identify four different smells in pipeline configuration files. We have evaluated our approach through a large-scale and long-term study that consists of (i) monitoring 145 issues (opened in as many open-source projects) over a period of 6 months, (ii) manually validating the detection precision and recall on a representative sample of issues, and (iii) assessing the magnitude of the observed smells on 5,312 open-source projects on GitLab. Our results show that CD smells are accepted and fixed by most of the developers and our linter achieves a precision of 87% and a recall of 94%. Those smells can be frequently observed in the wild, as 31% of projects with long configurations are affected by at least one smell. Carmine Vassallo, Sebastian Proksch 0001, Anna Jancso, Harald C. Gall, Massimiliano Di Penta |
ESEC/SIGSOFT FSE | 1 |
| 2020 | How developers engage with static analysis tools in different contexts
Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, Sebastian Proksch 0001, Harald C. Gall, Andy Zaidman |
Empir. Softw. Eng. | 1 |
| 2020 | Every build you break: developer-oriented assistance for build failure resolution
Carmine Vassallo, Sebastian Proksch 0001, Timothy Zemp, Harald C. Gall |
Empir. Softw. Eng. | 1 |
| 2020 | An empirical characterization of bad practices in continuous integration
Fiorella Zampetti, Carmine Vassallo, Sebastiano Panichella, Gerardo Canfora, Harald C. Gall, Massimiliano Di Penta |
Empir. Softw. Eng. | 2 |
| 2019 | Automated reporting of anti-patterns and decay in continuous integrationabstractContinuous Integration (CI) is a widely-used software engineering practice. The software is continuously built so that changes can be easily integrated and issues such as unmet quality goals or style inconsistencies get detected early. Unfortunately, it is not only hard to introduce CI into an existing project, but it is also challenging to live up to the CI principles when facing tough deadlines or business decisions. Previous work has identified common anti-patterns that reduce the promised benefits of CI. Typically, these anti-patterns slowly creep into a project over time before they are identified. We argue that automated detection can help with early identification and prevent such a process decay. In this work, we further analyze this assumption and survey 124 developers about CI anti-patterns. From the results, we build CI-Odor, a reporting tool for CI processes that detects the existence of four relevant anti-patterns by analyzing regular build logs and repository information. In a study on the 18,474 build logs of 36 popular JAVA projects, we reveal the presence of 3,823 high-severity warnings spread across projects. We validate our reports in a survey among 13 original developers of these projects and through general feedback from 42 developers that confirm the relevance of our reports. Carmine Vassallo, Sebastian Proksch 0001, Harald C. Gall, Massimiliano Di Penta |
ICSE | 1 |
| 2019 | Enabling Continuous Improvement of a Continuous Integration ProcessabstractContinuous Integration (CI) is a widely-adopted software engineering practice. Despite its undisputed benefits, like higher software quality and improved developer productivity, mastering CI is not easy. Among the several barriers when transitioning to CI, developers need to face a new type of software failures (i.e., build failures) that requires them to understand complex build logs. Even when a team has successfully introduced a CI culture, living up to its principles and improving the CI practice are also challenging. In my research, I want to provide developers with the right support for establishing CI and the proper recommendations for continuously improving their CI process. Carmine Vassallo |
ASE | 1 |
| 2019 | A large-scale empirical exploration on refactoring activities in open source software projects
Carmine Vassallo, Giovanni Grano, Fabio Palomba, Harald C. Gall, Alberto Bacchelli |
Sci. Comput. Program. | 1 |
| 2018 | Continuous Refactoring in CI: A Preliminary Study on the Perceived Advantages and BarriersabstractBy definition, the practice of Continuous Integration (CI) promotes continuous software quality improvement. In systems adopting such a practice, quality assurance is usually performed by using static and dynamic analysis tools (e.g., SonarQube) that compute overall metrics such as maintainability or reliability measures. Furthermore, developers usually define quality gates, i.e., source code quality thresholds that must be reached by the software product after every newly committed change. If certain quality gates fail (e.g., a maintainability metric is below a settled threshold), developers should refactor the code possibly addressing some of the proposed warnings. While previous research findings showed that refactoring is often not done in practice, it is still unclear whether and how the adoption of a CI philosophy has changed the way developers perceive and adopt refactoring. In this paper, we preliminarily study-running a survey study that involves 31 developers-how developers perform refactoring in CI, which needs they have and the barriers they face while continuously refactor source code. Carmine Vassallo, Fabio Palomba, Harald C. Gall |
ICSME | 1 |
| 2018 | Un-break my build: assisting developers with build repair hintsabstractContinuous integration is an agile software development practice. Instead of integrating features right before a release, they are constantly being integrated in an automated build process. This shortens the release cycle, improves software quality, and reduces time to market. However, the whole process will come to a halt when a commit breaks the build, which can happen for several reasons, e.g., compilation errors or test failures, and fixing the build suddenly becomes a top priority. Developers not only have to find the cause of the build break and fix it, but they have to be quick in all of it to avoid a delay for others. Unfortunately, these steps require deep knowledge and are often time consuming. To support developers in fixing a build break, we propose Bart, a tool that summarizes the reasons of the build failure and suggests possible solutions found on the Internet. We will show in a case study with eight participants that developersfind Bart useful to understand build breaks and that using Bart substantially reduces the time to fix a build break, on average by 41%. Carmine Vassallo, Sebastian Proksch 0001, Timothy Zemp, Harald C. Gall |
ICPC | 1 |
| 2018 | Continuous code quality: are we (really) doing that?abstractContinuous Integration (CI) is a software engineering practice where developers constantly integrate their changes to a project through an automated build process. The goal of CI is to provide developers with prompt feedback on several quality dimensions after each change. Indeed, previous studies provided empirical evidence on a positive association between properly following CI principles and source code quality. A core principle behind CI is Continuous Code Quality (also known as CCQ, which includes automated testing and automated code inspection) may appear simple and effective, yet we know little about its practical adoption. In this paper, we propose a preliminary empirical investigation aimed at understanding how rigorously practitioners follow CCQ. Our study reveals a strong dichotomy between theory and practice: developers do not perform continuous inspection but rather control for quality only at the end of a sprint and most of the times only on the release branch. Preprint [https://doi.org/10.5281/zenodo.1341036]. Data and Materials [http://doi.org/10.5281/zenodo.1341015]. Carmine Vassallo, Fabio Palomba, Alberto Bacchelli, Harald C. Gall |
ASE | 1 |
| 2018 | Context is king: The developer perspective on the usage of static analysis toolsabstractAutomatic static analysis tools (ASATs) are tools that support automatic code quality evaluation of software systems with the aim of (i) avoiding and/or removing bugs and (ii) spotting design issues. Hindering their wide-spread acceptance are their (i) high false positive rates and (ii) low comprehensibility of the generated warnings. Researchers and ASATs vendors have proposed solutions to prioritize such warnings with the aim of guiding developers toward the most severe ones. However, none of the proposed solutions considers the development context in which an ASAT is being used to further improve the selection of relevant warnings. To shed light on the impact of such contexts on the warnings configuration, usage and adopted prioritization strategies, we surveyed 42 developers (69% in industry and 31% in open source projects) and interviewed 11 industrial experts that integrate ASATs in their workflow. While we can confirm previous findings on the reluctance of developers to configure ASATs, our study highlights that (i) 71% of developers do pay attention to different warning categories depending on the development context, and (ii) 63% of our respondents rely on specific factors (e.g., team policies and composition) when prioritizing warnings to fix during their programming. Our results clearly indicate ways to better assist developers by improving existing warning selection and prioritization strategies. Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, Sebastian Proksch 0001, Andy Zaidman, Harald C. Gall |
SANER | 1 |
| 2017 | A Tale of CI Build Failures: An Open Source and a Financial Organization PerspectiveabstractContinuous Integration (CI) and Continuous Delivery (CD) are widespread in both industrial and open-source software (OSS) projects. Recent research characterized build failures in CI and identified factors potentially correlated to them. However, most observations and findings of previous work are exclusively based on OSS projects or data from a single industrial organization. This paper provides a first attempt to compare the CI processes and occurrences of build failures in 349 Java OSS projects and 418 projects from a financial organization, ING Nederland. Through the analysis of 34,182 failing builds (26% of the total number of observed builds), we derived a taxonomy of failures that affect the observed CI processes. Using cluster analysis, we observed that in some cases OSS and ING projects share similar build failure patterns (e.g., few compilation failures as compared to frequent testing failures), while in other cases completely different patterns emerge. In short, we explain how OSS and ING CI processes exhibit commonalities, yet are substantially different in their design and in the failures they report. Carmine Vassallo, Gerald Schermann, Fiorella Zampetti, Daniele Romano, Philipp Leitner 0001, Andy Zaidman, Massimiliano Di Penta, Sebastiano Panichella |
ICSME | 1 |
| 2016 | Continuous Delivery Practices in a Large Financial OrganizationabstractContinuous Delivery is an agile software development practice in which developers frequently integrate changes into the main development line and produce releases of their software. An automated Continuous Integration infrastructure builds and tests these changes. Claimed advantages of CD include early discovery of (integration) errors, reduced cycle time, and better adoption of coding standards and guidelines. This paper reports on a study in which we surveyed 152 developers of a large financial organization (ING Nederland), and investigated how they adopt a Continuous Integration and delivery pipeline during their development activities. In our study, we focus on topics related to managing technical debt, as well as test automation practices. The survey results shed light on the adoption of some agile methods in practice, and sometimes confirm, while in other cases, confute common wisdom and results obtained in other studies. For example, we found that refactoring tends to be performed together with other development activities, technical debt is almost always "self-admitted", developers timely document source code, and assure the quality of their product through extensive automated testing, with a third of respondents dedicating more than 50% of their time to do testing activities. Carmine Vassallo, Fiorella Zampetti, Daniele Romano, Moritz Beller, Annibale Panichella, Massimiliano Di Penta, Andy Zaidman |
ICSME | 1 |
| 2014 | CODES: mining source code descriptions from developers discussionsabstractProgram comprehension is a crucial activity, preliminary to any software maintenance task. Such an activity can be difficult when the source code is not adequately documented, or the documentation is outdated. Differently from the many existing software re-documentation approaches, based on different kinds of code analysis, this paper describes CODES (mining sourCe cOde Descriptions from developErs diScussions), a tool which applies a "social'' approach to software re-documentation. Specifically, CODES extracts candidate method documentation from StackOverflow discussions, and creates Javadoc descriptions from it. We evaluated CODES to mine Lucene and Hibernate method descriptions. The results indicate that CODES is able to extract descriptions for 20% and 28% of the Lucene and Hibernate methods with a precision of 84% and 91% respectively. Carmine Vassallo, Sebastiano Panichella, Massimiliano Di Penta, Gerardo Canfora |
ICPC | 1 |