Demo Data from EDBT 2026 / reviewers in the wild / expert
Nicholas Jalbert
dblp:48/213
· DBLP profile ↗
3ranked-venue papers
2as first author
0since 2021 · last 2010
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 1 first-authorSystems, architecture and hardware · 1 · 1 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
2 papers |
Debugging and program repair · 44% Program verification · 27% Concurrent programming · 15% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair
fault localization |
0.2 | 2 | 2010 | A trace simplification technique for effective debugging of concurrent programs · SIGSOFT FSE 2010 Looper: Lightweight Detection of Infinite Loops at Runtime · ASE 2009 |
Concurrent programming
concurrency bugs |
0.1 | 1 | 2010 | A trace simplification technique for effective debugging of concurrent programs · SIGSOFT FSE 2010 |
Debugging and program repair
concurrent program debugging |
0.1 | 1 | 2010 | A trace simplification technique for effective debugging of concurrent programs · SIGSOFT FSE 2010 |
Program analysis
dynamic analysis |
0.1 | 1 | 2009 | Looper: Lightweight Detection of Infinite Loops at Runtime · ASE 2009 |
Program verification › termination analysis
non-termination detection |
0.1 | 1 | 2009 | Looper: Lightweight Detection of Infinite Loops at Runtime · ASE 2009 |
Program verification › dynamic verification
runtime verification |
0.1 | 1 | 2009 | Looper: Lightweight Detection of Infinite Loops at Runtime · ASE 2009 |
Methods — techniques the papers use, named apart from their topics
trace granularity increase · 0.1heuristic algorithm · 0.1symbolic execution · 0.1SMT solving · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2010 | A trace simplification technique for effective debugging of concurrent programsabstractConcurrent programs are notoriously difficult to debug. We see two main reasons for this: 1) concurrency bugs are often difficult to reproduce, 2) traces of buggy concurrent executions can be complicated by fine-grained thread interleavings. Recently, a number of efficient techniques have tried to address the former reproducibility problem; however, there is no effective solution for the latter trace simplification problem. In this paper, we formalize and prove the trace simplification problem is NP-hard. We then propose a heuristic algorithm, Tinertia, that transforms a buggy execution trace into an easier-to-understand simplified trace. Tinertia works by automatically and iteratively increasing the granularity of the thread interleavings in the buggy trace. Tinertia cannot guarantee optimal simplification; however, we empirically show that our algorithm often generates optimally simplified traces. Moreover, we show that in the simplified trace, the locations of preemptive context switches point to the cause of the bug. We have implemented Tinertia in a tool for C/C++ programs using Pthreads and applied it to 11 benchmarks with up to 37,000 lines of code. Nicholas Jalbert, Koushik Sen |
SIGSOFT FSE | 1 |
| 2009 | Looper: Lightweight Detection of Infinite Loops at RuntimeabstractWhen a running program becomes unresponsive, it is often impossible for a user to determine if the program is performing some useful computation or if it has entered an infinite loop. We present LOOPER, an automated technique for dynamically analyzing a running program to prove that it is non-terminating. LOOPER uses symbolic execution to produce simple non-termination arguments for infinite loops dependent on both program values and the shape of heap. The constructed arguments are verified with an off-the-shelf SMT solver. We have implemented our technique in a prototype tool for Java applications, and we demonstrate our technique's effectiveness on several non-terminating benchmarks, including a reported infinite loop bug in open-source text editor jEdit. Our tool is able to dynamically detect infinite loops deep in the execution of large Java programs with no false warnings, producing symbolic arguments that can aid in debugging non-termination. Jacob Burnim, Nicholas Jalbert, Christos Stergiou 0001, Koushik Sen |
ASE | 2 |
| 2008 | Automated duplicate detection for bug tracking systemsabstractBug tracking systems are important tools that guide the maintenance activities of software developers. The utility of these systems is hampered by an excessive number of duplicate bug reports-in some projects as many as a quarter of all reports are duplicates. Developers must manually identify duplicate bug reports, but this identification process is time-consuming and exacerbates the already high cost of software maintenance. We propose a system that automatically classifies duplicate bug reports as they arrive to save developer time. This system uses surface features, textual semantics, and graph clustering to predict duplicate status. Using a dataset of 29,000 bug reports from the Mozilla project, we perform experiments that include a simulation of a real-time bug reporting environment. Our system is able to reduce development cost by filtering out 8% of duplicate bug reports while allowing at least one report for each real defect to reach developers. Nicholas Jalbert, Westley Weimer |
DSN | 1 |