Demo Data from EDBT 2026 / reviewers in the wild / expert
Cristian Zamfir
dblp:44/6654
· DBLP profile ↗
12ranked-venue papers
5as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 3 first-authorSystems, architecture and hardware · 5 · 2 first-authorSecurity and privacy · 1 · 1 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
6 papers |
Concurrent programming · 64% Program analysis · 26% Debugging and program repair · 6% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
High-performance computing · 60% Distributed systems · 40% |
Topics — the 13 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming › concurrency bug detection
data race detection |
0.4 | 2 | 2015 | Automated Classification of Data Races Under Both Strong and Weak Memory Models · ACM Trans. Program. Lang. Syst. 2015 RaceMob: crowdsourced data race detection · SOSP 2013 |
Program analysis
symbolic execution |
0.2 | 2 | 2011 | Parallel symbolic execution for automated real-world software testing · EuroSys 2011 Execution synthesis: a technique for automated software debugging · EuroSys 2010 |
Concurrent programming › concurrency bugs
data race classification |
0.2 | 1 | 2015 | Automated Classification of Data Races Under Both Strong and Weak Memory Models · ACM Trans. Program. Lang. Syst. 2015 |
Concurrent programming
concurrency bugs |
0.2 | 2 | 2013 | RaceMob: crowdsourced data race detection · SOSP 2013 Execution synthesis: a technique for automated software debugging · EuroSys 2010 |
Program analysis
dynamic analysis |
0.2 | 3 | 2015 | Automated Classification of Data Races Under Both Strong and Weak Memory Models · ACM Trans. Program. Lang. Syst. 2015 RaceMob: crowdsourced data race detection · SOSP 2013 Data races vs. data race bugs: telling the difference with portend · ASPLOS 2012 |
Concurrent programming
concurrency bug detection |
0.1 | 1 | 2012 | Data races vs. data race bugs: telling the difference with portend · ASPLOS 2012 |
Concurrent programming › concurrency bugs
data races |
0.1 | 1 | 2012 | Data races vs. data race bugs: telling the difference with portend · ASPLOS 2012 |
Program analysis › symbolic execution
parallel symbolic execution |
0.1 | 1 | 2011 | Parallel symbolic execution for automated real-world software testing · EuroSys 2011 |
Debugging and program repair
automated debugging |
0.1 | 1 | 2010 | Execution synthesis: a technique for automated software debugging · EuroSys 2010 |
Concurrent programming › concurrency bugs
concurrency bug reproduction |
0.1 | 1 | 2010 | Execution synthesis: a technique for automated software debugging · EuroSys 2010 |
Concurrent programming
synchronization |
0.1 | 1 | 2008 | Deadlock Immunity: Enabling Systems to Defend Against Deadlocks · OSDI 2008 |
High-performance computing
cluster computing |
0.0 | 1 | 2011 | Parallel symbolic execution for automated real-world software testing · EuroSys 2011 |
Distributed systems
fault tolerance |
0.0 | 1 | 2008 | Deadlock Immunity: Enabling Systems to Defend Against Deadlocks · OSDI 2008 |
Methods — techniques the papers use, named apart from their topics
symbolic execution · 0.6POSIX environment modeling · 0.2dynamic analysis · 0.2dynamic race detection · 0.2crowdsourced detection · 0.2symbolic comparison · 0.1multi-schedule analysis · 0.1multi-path analysis · 0.1static analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Automated Classification of Data Races Under Both Strong and Weak Memory ModelsabstractData races are one of the main causes of concurrency problems in multithreaded programs. Whether all data races are bad, or some are harmful and others are harmless, is still the subject of vigorous scientific debate [Narayanasamy et al. 2007; Boehm 2012]. What is clear, however, is that today's code has many data races [Kasikci et al. 2012; Jin et al. 2012; Erickson et al. 2010], and fixing data races without introducing bugs is time consuming [Godefroid and Nagappan 2008]. Therefore, it is important to efficiently identify data races in code and understand their consequences to prioritize their resolution. We present Portend + , a tool that not only detects races but also automatically classifies them based on their potential consequences: Could they lead to crashes or hangs? Could their effects be visible outside the program? Do they appear to be harmless? How do their effects change under weak memory models? Our proposed technique achieves high accuracy by efficiently analyzing multiple paths and multiple thread schedules in combination, and by performing symbolic comparison between program outputs. We ran Portend + on seven real-world applications: it detected 93 true data races and correctly classified 92 of them, with no human effort. Six of them were harmful races. Portend + 's classification accuracy is up to 89% higher than that of existing tools, and it produces easy-to-understand evidence of the consequences of “harmful” races, thus both proving their harmfulness and making debugging easier. We envision Portend + being used for testing and debugging, as well as for automatically triaging bug reports. Baris Kasikci, Cristian Zamfir, George Candea |
ACM Trans. Program. Lang. Syst. | 2 |
| 2013 | Automating the debugging of datacenter applications with ADDAabstractDebugging data-intensive distributed applications running in datacenters is complex and time-consuming because developers do not have practical ways of deterministically replaying failed executions. The reason why building such tools is hard is that non-determinism that may be tolerable on a single node is exacerbated in large clusters of interacting nodes, and datacenter applications produce terabytes of intermediate data exchanged by nodes, thus making full input recording infeasible. We present ADDA, a replay-debugging system for datacenters that has lower recording and storage overhead than existing systems. ADDA is based on two techniques: First, ADDA provides control plane determinism, leveraging our observation that many typical datacenter applications consist of a separate “control plane” and “data plane”, and most bugs reside in the former. Second, ADDA does not record “data plane” inputs, instead it synthesizes them during replay, starting from the application's external inputs, which are typically persisted in append-only storage for reasons unrelated to debugging. We evaluate ADDA and show that it deterministically replays real-world failures in Hypertable and Memcached. Cristian Zamfir, Gautam Altekar, Ion Stoica |
DSN | 1 |
| 2013 | Automated Debugging for Arbitrarily Long Executions
Cristian Zamfir, Baris Kasikci, Johannes Kinder, Edouard Bugnion, George Candea |
HotOS | 1 |
| 2013 | Reconstructing Core DumpsabstractWhen a software failure occurs in the field, it is often difficult to reproduce. Guided by a memory dump at the moment of failure (a “core dump”), our RECORE test case generator searches for a series of events that precisely reconstruct the failure from primitive data. Applied on seven non-trivial Java bugs, RECORE reconstructs the exact failure in five cases without any runtime overhead in production code. Jeremias Rößler, Andreas Zeller, Gordon Fraser 0001, Cristian Zamfir, George Candea |
ICST | 4 |
| 2013 | RaceMob: crowdsourced data race detectionabstractSome of the worst concurrency problems in multi-threaded systems today are due to data races---these bugs can have messy consequences, and they are hard to diagnose and fix. To avoid the introduction of such bugs, system developers need discipline and good data race detectors; today, even if they have the former, they lack the latter. Baris Kasikci, Cristian Zamfir, George Candea |
SOSP | 2 |
| 2012 | Data races vs. data race bugs: telling the difference with portendabstractEven though most data races are harmless, the harmful ones are at the heart of some of the worst concurrency bugs. Alas, spotting just the harmful data races in programs is like finding a needle in a haystack: 76%-90% of the true data races reported by state-of-the-art race detectors turn out to be harmless [45]. We present Portend, a tool that not only detects races but also automatically classifies them based on their potential consequences: Could they lead to crashes or hangs? Could their effects be visible outside the program? Are they harmless? Our proposed technique achieves high accuracy by efficiently analyzing multiple paths and multiple thread schedules in combination, and by performing symbolic comparison between program outputs. Baris Kasikci, Cristian Zamfir, George Candea |
ASPLOS | 2 |
| 2011 | Parallel symbolic execution for automated real-world software testingabstractThis paper introduces Cloud9, a platform for automated testing of real-world software. Our main contribution is the scalable parallelization of symbolic execution on clusters of commodity hardware, to help cope with path explosion. Cloud9 provides a systematic interface for writing "symbolic tests" that concisely specify entire families of inputs and behaviors to be tested, thus improving testing productivity. Cloud9 can handle not only single-threaded programs but also multi-threaded and distributed systems. It includes a new symbolic environment model that is the first to support all major aspects of the POSIX interface, such as processes, threads, synchronization, networking, IPC, and file I/O. We show that Cloud9 can automatically test real systems, like memcached, Apache httpd, lighttpd, the Python interpreter, rsync, and curl. We show how Cloud9 can use existing test suites to generate new test cases that capture untested corner cases (e.g., network stream fragmentation). Cloud9 can also diagnose incomplete bug fixes by analyzing the difference between buggy paths before and after a patch. Stefan Bucur, Vlad Ureche, Cristian Zamfir, George Candea |
EuroSys | 3 |
| 2011 | Debug Determinism: The Sweet Spot for Replay-Based Debugging
Cristian Zamfir, Gautam Altekar, George Candea |
HotOS | 1 |
| 2010 | Automated software testing as a serviceabstractThis paper makes the case for TaaS--automated software testing as a cloud-based service. We present three kinds of TaaS: a "programmer's sidekick" enabling developers to thoroughly and promptly test their code with minimal upfront resource investment; a "home edition" on-demand testing service for consumers to verify the software they are about to install on their PC or mobile device; and a public "certification service," akin to Underwriters Labs, that independently assesses the reliability, safety, and security of software. George Candea, Stefan Bucur, Cristian Zamfir |
SoCC | 3 |
| 2010 | Execution synthesis: a technique for automated software debuggingabstractDebugging real systems is hard, requires deep knowledge of the code, and is time-consuming. Bug reports rarely provide sufficient information, thus forcing developers to turn into detectives searching for an explanation of how the program could have arrived at the reported failure point. Execution synthesis is a technique for automating this detective work: given a program and a bug report, it automatically produces an execution of the program that leads to the reported bug symptoms. Using a combination of static analysis and symbolic execution, it "synthesizes" a thread schedule and various required program inputs that cause the bug to manifest. The synthesized execution can be played back deterministically in a regular debugger, like gdb. This is particularly useful in debugging concurrency bugs. Our technique requires no runtime tracing or program modifications, thus incurring no runtime overhead and being practical for use in production systems. We evaluate ESD – a debugger based on execution synthesis – on popular software (e.g., the SQLite database, ghttpd Web server, HawkNL network library, UNIX utilities): starting from mere bug reports, ESD reproduces on its own several real concurrency and memory safety bugs in less than three minutes. Cristian Zamfir, George Candea |
EuroSys | 1 |
| 2010 | Low-Overhead Bug Fingerprinting for Fast Debugging
Cristian Zamfir, George Candea |
RV | 1 |
| 2008 | Deadlock Immunity: Enabling Systems to Defend Against Deadlocks
Horatiu Jula, Daniel M. Tralamazza, Cristian Zamfir, George Candea |
OSDI | 3 |