EDBT 2026 Demo / reviewers in the wild / expert
Luis Mastrangelo
dblp:97/10956
· DBLP profile ↗
4ranked-venue papers
2as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 2 first-authorSystems, architecture and hardware · 1
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
3 papers |
Programming languages and type systems · 53% Empirical software engineering · 32% Program analysis · 12% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Parallel and multicore computing · 100% |
Topics — the 9 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Empirical software engineering
mining software repositories |
0.6 | 2 | 2019 | Casting about in the dark: an empirical study of cast operations in Java programs · Proc. ACM Program. Lang. 2019 Use at your own risk: the Java unsafe API in the wild · OOPSLA 2015 |
Programming languages and type systems › type systems
static typing |
0.4 | 1 | 2019 | Casting about in the dark: an empirical study of cast operations in Java programs · Proc. ACM Program. Lang. 2019 |
Programming languages and type systems
type systems |
0.4 | 1 | 2019 | Casting about in the dark: an empirical study of cast operations in Java programs · Proc. ACM Program. Lang. 2019 |
Program analysis › binary analysis
bytecode analysis |
0.2 | 1 | 2015 | Use at your own risk: the Java unsafe API in the wild · OOPSLA 2015 |
Programming languages and type systems
language-based safety |
0.2 | 1 | 2015 | Use at your own risk: the Java unsafe API in the wild · OOPSLA 2015 |
Parallel and multicore computing
speculative parallelization |
0.1 | 1 | 2012 | Adapting the polyhedral model as a framework for efficient speculative parallelization · PPoPP 2012 |
Parallel and multicore computing › speculative parallelization
thread-level speculation |
0.1 | 1 | 2012 | Adapting the polyhedral model as a framework for efficient speculative parallelization · PPoPP 2012 |
Systems and software security
memory safety |
0.1 | 1 | 2015 | Use at your own risk: the Java unsafe API in the wild · OOPSLA 2015 |
Compilers and program optimization
polyhedral model |
0.0 | 1 | 2012 | Adapting the polyhedral model as a framework for efficient speculative parallelization · PPoPP 2012 |
Methods — techniques the papers use, named apart from their topics
static analysis · 0.4repository mining · 0.4empirical study · 0.4runtime scheduling · 0.3profiling · 0.3polyhedral compilation · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Casting about in the dark: an empirical study of cast operations in Java programsabstractThe main goal of a static type system is to prevent certain kinds of errors from happening at run time. A type system is formulated as a set of constraints that gives any expression or term in a program a well-defined type. Yet mainstream programming languages are endowed with type systems that provide the means to circumvent their constraints through casting. We want to understand how and when developers escape the static type system to use dynamic typing. We empirically study how casting is used by developers in more than seven thousand Java projects. We find that casts are widely used (8.7% of methods contain at least one cast) and that 50% of casts we inspected are not guarded locally to ensure against potential run-time errors. To help us better categorize use cases and thus understand how casts are used in practice, we identify 25 cast-usage patterns---recurrent programming idioms using casts to solve a specific issue. This knowledge can be: (a) a recommendation for current and future language designers to make informed decisions (b) a reference for tool builders, e.g., by providing more precise or new refactoring analyses, (c) a guide for researchers to test new language features, or to carry out controlled programming experiments, and (d) a guide for developers for better practices. Luis Mastrangelo, Matthias Hauswirth, Nathaniel Nystrom |
Proc. ACM Program. Lang. | 1 |
| 2015 | Use at your own risk: the Java unsafe API in the wildabstractJava is a safe language. Its runtime environment provides strong safety guarantees that any Java application can rely on. Or so we think. We show that the runtime actually does not provide these guarantees---for a large fraction of today's Java code. Unbeknownst to many application developers, the Java runtime includes a "backdoor" that allows expert library and framework developers to circumvent Java's safety guarantees. This backdoor is there by design, and is well known to experts, as it enables them to write high-performance "systems-level" code in Java. For much the same reasons that safe languages are preferred over unsafe languages, these powerful---but unsafe---capabilities in Java should be restricted. They should be made safe by changing the language, the runtime system, or the libraries. At the very least, their use should be restricted. This paper is a step in that direction. We analyzed 74 GB of compiled Java code, spread over 86,479 Java archives, to determine how Java's unsafe capabilities are used in real-world libraries and applications. We found that 25% of Java bytecode archives depend on unsafe third-party Java code, and thus Java's safety guarantees cannot be trusted. We identify 14 different usage patterns of Java's unsafe capabilities, and we provide supporting evidence for why real-world code needs these capabilities. Our long-term goal is to provide a foundation for the design of new language features to regain safety in Java. Luis Mastrangelo, Luca Ponzanelli, Andrea Mocci, Michele Lanza 0001, Matthias Hauswirth, Nathaniel Nystrom |
OOPSLA | 1 |
| 2012 | VMAD: An Advanced Dynamic Program Analysis and Instrumentation Framework
Alexandra Jimborean, Luis Mastrangelo, Vincent Loechner, Philippe Clauss |
CC | 2 |
| 2012 | Adapting the polyhedral model as a framework for efficient speculative parallelizationabstractIn this paper, we present a Thread-Level Speculation (TLS) framework whose main feature is to be able to speculatively parallelize a sequential loop nest in various ways, by re-scheduling its iterations. The transformation to be applied is selected at runtime with the goal of minimizing the number of rollbacks and maximizing performance. We perform code transformations by applying the polyhedral model that we adapted for speculative and runtime code parallelization. For this purpose, we design a parallel code pattern which is patched by our runtime system according to the profiling information collected on some execution samples. Adaptability is ensured by considering chunks of code of various sizes, that are launched successively, each of which being parallelized in a different manner, or run sequentially, depending on the currently observed behavior for accessing memory. Alexandra Jimborean, Philippe Clauss, Benoît Pradelle, Luis Mastrangelo, Vincent Loechner |
PPoPP | 4 |