Demo Data from SIGIR 2026 / reviewers in the wild / expert
Andres Jaan Tack
dblp:67/7550
· DBLP profile ↗
4ranked-venue papers
0as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 4Software engineering, systems software and programming languages · 2
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 |
Concurrent programming · 68% Debugging and program repair · 18% Operating systems · 8% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Memory systems · 50% Storage systems · 50% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Concurrent programming
transactional memory |
0.2 | 2 | 2012 | Applying transactional memory to concurrency bugs · ASPLOS 2012 xCalls: safe I/O in memory transactions · EuroSys 2009 |
Concurrent programming › concurrency bugs
atomicity violation |
0.1 | 1 | 2012 | Applying transactional memory to concurrency bugs · ASPLOS 2012 |
Concurrent programming
concurrency bugs |
0.1 | 1 | 2012 | Applying transactional memory to concurrency bugs · ASPLOS 2012 |
Debugging and program repair › automated program repair
concurrency bug fixing |
0.1 | 1 | 2012 | Applying transactional memory to concurrency bugs · ASPLOS 2012 |
Storage systems
crash consistency |
0.1 | 1 | 2011 | Mnemosyne: lightweight persistent memory · ASPLOS 2011 |
Memory systems › non-volatile memory
persistent memory |
0.1 | 1 | 2011 | Mnemosyne: lightweight persistent memory · ASPLOS 2011 |
Memory systems › non-volatile memory
storage class memory |
0.1 | 1 | 2011 | Mnemosyne: lightweight persistent memory · ASPLOS 2011 |
Storage systems
storage reliability |
0.1 | 1 | 2011 | Mnemosyne: lightweight persistent memory · ASPLOS 2011 |
Software maintenance and evolution › software maintenance
bug fixing |
0.0 | 1 | 2012 | Applying transactional memory to concurrency bugs · ASPLOS 2012 |
Operating systems › resource management
memory management |
0.0 | 1 | 2011 | Mnemosyne: lightweight persistent memory · ASPLOS 2011 |
Methods — techniques the papers use, named apart from their topics
transactional memory · 0.4memory transactions · 0.1isolation guarantees · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | Applying transactional memory to concurrency bugsabstractMultithreaded programs often suffer from synchronization bugs such as atomicity violations and deadlocks. These bugs arise from complicated locking strategies and ad hoc synchronization methods to avoid the use of locks. A survey of the bug databases of major open-source applications shows that concurrency bugs often take multiple fix attempts, and that fixes often introduce yet more concurrency bugs. Transactional memory (TM) enables programmers to declare regions of code atomic without specifying a lock and has the potential to avoid these bugs. Where most previous studies have focused on using TM to write new programs from scratch, we consider its utility in fixing existing programs with concurrency bugs. We therefore investigate four methods of using TM on three concurrent programs. Overall, we find that 29% of the bugs are not fixable by transactional memory, showing that TM does not address many important types of concurrency bugs. In particular, TM works poorly with extremely long critical sections and with deadlocks involving both condition variables and I/O. Conversely, we find that for 56% of the bugs, transactional memory offers demonstrable value by simplifying the reasoning behind a fix or the effort to implement a fix, and using transactions in the first place would have avoided 71% of the bugs examined. We also find that ad hoc synchronization put in place to avoid the overhead of locking can be greatly simplified with TM, but requires hardware support to perform well. Haris Volos 0001, Andres Jaan Tack, Michael M. Swift, Shan Lu 0001 |
ASPLOS | 2 |
| 2011 | Mnemosyne: lightweight persistent memoryabstractNew storage-class memory (SCM) technologies, such as phase-change memory, STT-RAM, and memristors, promise user-level access to non-volatile storage through regular memory instructions. These memory devices enable fast user-mode access to persistence, allowing regular in-memory data structures to survive system crashes.In this paper, we present Mnemosyne, a simple interface for programming with persistent memory. Mnemosyne addresses two challenges: how to create and manage such memory, and how to ensure consistency in the presence of failures. Without additional mechanisms, a system failure may leave data structures in SCM in an invalid state, crashing the program the next time it starts.In Mnemosyne, programmers declare global persistent data with the keyword pstatic or allocate it dynamically. Mnemosyne provides primitives for directly modifying persistent variables and supports consistent updates through a lightweight transaction mechanism. Compared to past work on disk-based persistent memory, Mnemosyne reduces latency to storage by writing data directly to memory at the granularity of an update rather than writing memory pages back to disk through the file system. In tests emulating the performance characteristics of forthcoming SCMs, we show that Mnemosyne can persist data as fast as 3 microseconds. Furthermore, it provides a 35 percent performance increase when applied in the OpenLDAP directory server. In microbenchmark studies we find that Mnemosyne can be up to 1400% faster than alternative persistence strategies, such as Berkeley DB or Boost serialization, that are designed for disks. Haris Volos 0001, Andres Jaan Tack, Michael M. Swift |
ASPLOS | 2 |
| 2009 | xCalls: safe I/O in memory transactionsabstractMemory transactions, similar to database transactions, allow a programmer to focus on the logic of their program and let the system ensure that transactions are atomic and isolated. Thus, programs using transactions do not suffer from deadlock. However, when a transaction performs I/O or accesses kernel resources, the atomicity and isolation guarantees from the TM system do not apply to the kernel. Haris Volos 0001, Andres Jaan Tack, Neelam Goyal, Michael M. Swift, Adam Welc |
EuroSys | 2 |
| 2009 | An Analysis of Network Configuration Artifacts
David Plonka, Andres Jaan Tack |
LISA | 2 |