Demo Data from VLDB 2026 / reviewers in the wild / expert
Gianluca Mezzetti
dblp:96/10107
· DBLP profile ↗
8ranked-venue papers
2as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 2 first-authorTheory of computation · 3
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
2 papers |
Software testing · 64% Programming languages and type systems · 18% Program analysis · 18% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › type systems
dynamic typing |
0.2 | 1 | 2016 | Analyzing test completeness for dynamic languages · ISSTA 2016 |
Software testing
test coverage |
0.2 | 1 | 2016 | Analyzing test completeness for dynamic languages · ISSTA 2016 |
Program analysis › type analysis
type error detection |
0.2 | 1 | 2016 | Analyzing test completeness for dynamic languages · ISSTA 2016 |
Software testing › mobile application testing
android app testing |
0.2 | 1 | 2015 | Systematic execution of Android test suites in adverse conditions · ISSTA 2015 |
Software testing
mobile application testing |
0.2 | 1 | 2015 | Systematic execution of Android test suites in adverse conditions · ISSTA 2015 |
Software testing › test execution
test suite execution |
0.2 | 1 | 2015 | Systematic execution of Android test suites in adverse conditions · ISSTA 2015 |
Methods — techniques the papers use, named apart from their topics
call graph inference · 0.2event injection · 0.2end-to-end test suites · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Type Regression Testing to Detect Breaking Changes in Node.js LibrariesabstractThe npm repository contains JavaScript libraries that are used by millions of software developers. Its semantic versioning system relies on the ability to distinguish between breaking and non-breaking changes when libraries are updated. However, the dynamic nature of JavaScript often causes unintended breaking changes to be detected too late, which undermines the robustness of the applications. We present a novel technique, type regression testing, to automatically determine whether an update of a library implementation affects the types of its public interface, according to how the library is being used by other npm packages. By leveraging available test suites of clients, type regression testing uses a dynamic analysis to learn models of the library interface. Comparing the models before and after an update effectively amplifies the existing tests by revealing changes that may affect the clients. Experimental results on 12 widely used libraries show that the technique can identify type-related breaking changes with high accuracy. It fully automatically classifies at least 90% of the updates correctly as either major or as minor or patch, and it detects 26 breaking changes among the minor and patch updates. Gianluca Mezzetti, Anders Møller, Martin Toldam Torp |
ECOOP | 1 |
| 2017 | Regular and context-free nominal traces
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Gianluca Mezzetti |
Acta Informatica | 3 |
| 2016 | Type unsoundness in practice: an empirical study of DartabstractThe type system in the Dart programming language is deliberately designed to be unsound: for a number of reasons, it may happen that a program encounters type errors at runtime although the static type checker reports no warnings. According to the language designers, this ensures a pragmatic balance between the ability to catch bugs statically and allowing a flexible programming style without burdening the programmer with a lot of spurious type warnings. In this work, we attempt to experimentally validate these design choices. Through an empirical evaluation based on open source programs written in Dart totaling 2.4 M LOC, we explore how alternative, more sound choices affect the type warnings being produced. Our results show that some, but not all, sources of unsoundness can be justified. In particular, we find that unsoundness caused by bivariant function subtyping and method overriding does not seem to help programmers. Such information may be useful when designing future versions of the language or entirely new languages. Gianluca Mezzetti, Anders Møller, Fabio Strocco |
DLS | 1 |
| 2016 | Analyzing test completeness for dynamic languagesabstractIn dynamically typed programming languages, type errors can occur at runtime. Executing the test suites that often accompany programs may provide some confidence about absence of such errors, but generally without any guarantee. We present a program analysis that can check whether a test suite has sufficient coverage to prove a given type-related property, which is particularly challenging for program code with overloading and value dependent types. The analysis achieves a synergy between scalable static analysis and dynamic analysis that goes beyond what can be accomplished by the static analysis alone. Additionally, the analysis provides a new coverage adequacy metric for the completeness of a test suite regarding a family of type-related properties. Based on an implementation for Dart, we demonstrate how such a hybrid static/dynamic program analysis can be used for measuring the quality of a test suite with respect to showing absence of type errors and inferring sound call graph information, specifically for program code that is difficult to handle by traditional static analysis techniques. Christoffer Quist Adamsen, Gianluca Mezzetti, Anders Møller |
ISSTA | 2 |
| 2015 | Systematic execution of Android test suites in adverse conditionsabstractEvent-driven applications, such as, mobile apps, are difficult to test thoroughly. The application programmers often put significant effort into writing end-to-end test suites. Even though such tests often have high coverage of the source code, we find that they often focus on the expected behavior, not on occurrences of unusual events. On the other hand, automated testing tools may be capable of exploring the state space more systematically, but this is mostly without knowledge of the intended behavior of the individual applications. As a consequence, many programming errors remain unnoticed until they are encountered by the users. We propose a new methodology for testing by leveraging existing test suites such that each test case is systematically exposed to adverse conditions where certain unexpected events may interfere with the execution. In this way, we explore the interesting execution paths and take advantage of the assertions in the manually written test suite, while ensuring that the injected events do not affect the expected outcome. The main challenge that we address is how to accomplish this systematically and efficiently. We have evaluated the approach by implementing a tool, Thor, working on Android. The results on four real-world apps with existing test suites demonstrate that apps are often fragile with respect to certain unexpected events and that our methodology effectively increases the testing quality: Of 507 individual tests, 429 fail when exposed to adverse conditions, which reveals 66 distinct problems that are not detected by ordinary execution of the tests. Christoffer Quist Adamsen, Gianluca Mezzetti, Anders Møller |
ISSTA | 2 |
| 2013 | Towards Nominal Context-Free Model-Checking
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Gianluca Mezzetti |
CIAA | 3 |
| 2012 | Types for Coordinating Secure Behavioural Variations
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Letterio Galletta, Gianluca Mezzetti |
COORDINATION | 4 |
| 2012 | Nominal Automata for Resource Usage Control
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Gianluca Mezzetti |
CIAA | 3 |