SHIELD paper accepted at DEBS26!

I’m happy to share that our paper “SHIELD: Evolutionary Synthesis of Privacy-Preserving Pipelines for Live Stream Data Sharing” has been accepted at ACM DEBS 2026!

This work is about a challenge that feels increasingly important: how to share realistic live-stream data for testing, benchmarking, and optimization without exposing sensitive information.

I am particularly proud of this one. It is a collaboration with a colleague from the Università degli Studi di Trieste, where I studied, and which I will soon be travelling to as a visiting professor. Congratulations to my co-authors Silvia Perelli and Eric Medvet—very glad to share this with you.

Abstract:
Modern data-driven organizations rely on pipelines that transform data from infrastructure, applications, and users, where correctness and performance are critical for reliability and business value. These pipelines are often developed and optimized by teams separate from the data owners defining semantics, so meaningful testing and benchmarking require sharing representative data. This creates a tension: real data is needed to validate semantics, detect subtle errors, and tune performance, yet it is often sensitive and restricted by legal and commercial constraints.
To enable privacy-preserving data sharing while preserving utility, we present SHIELD, a framework that automatically constructs privacy-preserving pipelines to transform sensitive data on the fly into shareable data while preserving the characteristics required for downstream processing and optimization. Internally, SHIELD leverages evolutionary computation to synthesize executable privacy-preserving queries under predefined privacy constraints and utility requirements. Using real-world use cases, we show that SHIELD can synthesize privacy-preserving pipelines that retain analytical value while scaling to realistic workloads.

Posted in Uncategorized

Flame graphs for Java (super-short how to)

This is for Ubuntu!

Download async-profiler

wget https://github.com/async-profiler/async-profiler/releases/tag/v4.2.1#:~:text=async%2Dprofiler%2D4.2.1%2Dlinux%2Dx64.tar.gz
tar xvf async-profiler-4.2.1-linux-x64.tar.gz

Let user-space programs access Linux performance counters and expose kernel symbol addresses (can also make permanent)

sudo sysctl -w kernel.perf_event_paranoid=1
sudo sysctl -w kernel.kptr_restrict=0

Start Java and attach

java -jar <jar path> <params> &
echo "PID = $!"
echo "Waiting 20 seconds for the system to start up…"
sleep 20
~/async-profiler-4.2.1-linux-x64/bin/asprof -e wall -d 30 -f wall.html $!
echo "Profiling complete. Output saved to profile.html. Killing the Java process."
kill $!

The option -e wall is for wallclock time. You can also remove to have only CPU time.

Tagged with: , ,
Posted in programming

Erebus accepted at VLDB!

Our paper, titled “Erebus: Explaining the Outputs of Data Streaming Queries”, written by Dimitris Palyvos-Giannas (Chalmers), Katerina Tzompanaki (CY Cergy Paris University), Marina Papatriantafilou (Chalmers), and Vincenzo Gulisano (Chalmers) has been accepted at the 49th International Conference on Very Large Data Bases (VLDB)!!!

The paper introduces the novel concept (and the theoretical foundations) for why-not provenance in the context of stream processing, supporting analysts in understanding why some expected results are not observed in the outcome of their streaming applications.

The abstract follows:

In data streaming, why-provenance can explain why a given outcome is observed but offers no help in understanding why an expected outcome is missing. Explaining missing answers has been addressed in DBMSs, but these solutions are not directly applicable to the streaming setting, because of the extra challenges posed by limited storage and by the unbounded nature of data streams.
With our framework, Erebus, we tackle the unaddressed challenges behind explaining missing answers in streaming applications. Erebus allows users to define expectations about the results of a query, verifying at runtime if such expectations hold, and also providing explanations when expected and observed outcomes diverge (missing answers). To the best of our knowledge, Erebus is the first such solution in data streaming. Our thorough evaluation on real data shows that Erebus can explain the (missing) answers with small overheads, both in low- and higher-end devices, even when large portions of the processed data are part of such explanations.

Posted in Uncategorized