David Schwartz

dblp:82/2262 · DBLP profile ↗
← Back
7ranked-venue papers
3as first author
2since 2021 · last 2026
—ORCID · conflict

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 3Artificial intelligence and machine learning · 2Software engineering, systems software and programming languages · 2 · 2 first-author · 2 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 1 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
1 paper
Debugging and program repair · 50% Programming languages and type systems · 25% Concurrent programming · 25%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 7 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Debugging and program repair › record and replay
deterministic replay
0.812024
Jmvx: Fast Multi-threaded Multi-version Execution and Record-Replay for Managed Languages · Proc. ACM Program. Lang. 2024
Programming languages and type systems
managed languages
0.812024
Jmvx: Fast Multi-threaded Multi-version Execution and Record-Replay for Managed Languages · Proc. ACM Program. Lang. 2024
Concurrent programming
multi-version execution
0.812024
Jmvx: Fast Multi-threaded Multi-version Execution and Record-Replay for Managed Languages · Proc. ACM Program. Lang. 2024
Debugging and program repair
record and replay
0.812024
Jmvx: Fast Multi-threaded Multi-version Execution and Record-Replay for Managed Languages · Proc. ACM Program. Lang. 2024
Memory systems
cache
0.011999
Dynamically Programmable Cache Evaluation and Virtualization · FPGA 1999
Memory systems › cache
cache behavior
0.011999
Dynamically Programmable Cache Evaluation and Virtualization · FPGA 1999
Memory systems
cache design
0.011999
Dynamically Programmable Cache Evaluation and Virtualization · FPGA 1999

Methods — techniques the papers use, named apart from their topics

shared-memory communication · 1.5dynamic analysis · 1.5
YearPublicationVenuePosition
2026 Optimizing Record/Replay Through Relaxed Total Ordering and Multi-Version eXecution
abstract
Record/Replay (RR) allows developers to record an execution and then replay it exactly as it was recorded. RR enables deterministic replay of non-deterministic behaviors in a different environment than the one used for the recording, which can capture complex bugs in production and find the root cause during development. Unfortunately, support for RR still introduces a non-negligible amount of performance overhead, which limits its applicability. Two main sources of such overhead in state-of-the-art RR systems are: multi-threading, and I/O bound workloads. To ensure high-fidelity when replaying multi-threading execution, recordings either capture the total order of events, which the replayer then enforces, or capture a partial order that requires further processing before replay. Recording also effectively doubles the I/O performed as the recorder needs to perform the original I/O and then record it to a log. Such increased I/O severely limits the performance of I/O dominated workloads. In this paper, we present two complimentary techniques to reduce the overhead of RR. First, we introduce Relaxed Total Order (RTO), an online-computable weakening of total order that preserves the cross-thread constraints needed for replay while avoiding unnecessary serialization. We design RTO to be compatible with Multi-Version eXecution (MVX), enabling online deterministic replay without pre-processing the recording log or heavyweight coordination. We formalize RTO’s strictness and correctness, showing that it is a novel point between partial- and total-order. Our prototype implementation on top of an existing state-of-the-art RR system reduces recording overhead from 21.0% to 15.3% and halves replay overhead from 67.5% to 31.7%. Second, we combine RR with Multi-Version eXecution (MVX) to eliminate RR’s poor performance on I/O-bound workloads. Our hybrid design uses a follower variant to absorb the extra I/O needed for logging, and to backfill as much I/O as possible from the same underlying system, keeping the user-facing leader off the critical path. Our prototype reduces the overhead required to record I/O bound programs from 192.5% to just 25.5%, without penalizing other more common workloads. Together, RTO and hybrid MVX/RR substantially narrow the gap between today’s RR systems and practical, low-overhead, always-on deployment.
David Schwartz, Luís Pina
ECOOP1
2024 Jmvx: Fast Multi-threaded Multi-version Execution and Record-Replay for Managed Languages
abstract
Multi-version execution (MVX) is a technique that deploys many equivalent versions of the same program — variants — as a single program, with direct application in important fields such as: security, reliability, analysis, and availability. MVX can be seen as “online Record/Replay (RR)”, as RR captures a program’s execution as a log stored on disk that can later be replayed to observe the same execution. Unfortunately, current MVX techniques target programs written in C/C++ and do not support programs written in managed languages, which are the vast majority of code written nowadays. This paper presents the design, implementation, and evaluation of Jmvx— a novel system for performing MVX and RR on programs written in managed languages. Jmvx supports programs written in Java by intercepting automatically identified non-deterministic methods, via a novel dynamic analysis technique, and ensuring that all variants execute the same methods and obtain the same data. Jmvx supports multi-threaded programs, by capturing synchronization operations in one variant, and ensuring all other variants follow the same ordering. We validated that Jmvx supports MVX and RR by applying it to a suite of benchmarks representative of programs written in Java. Internally, Jmvx uses a circular buffer located in shared memory between JVMs to enable fast communication between all variants, averaging 5% |47% performance overhead when performing MVX with multithreading support disabled|enabled, 8% |25% when recording, and 13% |73% when replaying.
David Schwartz, Ankith Kowshik, Luís Pina
Proc. ACM Program. Lang.1
2018 Spatial and Temporal Statistical Analysis of Stack of SAR Images: The Contribution of the Variogram
abstract
Image co-registration is an early step in SAR image processing. The quality of the image resampling affects the rest of the processing chain. Various interpolation methods exist, among them the kriging approach that requires the estimation of the spatial variation of the image called variogram. We propose to enhance the estimation of the variogram, especially at small shift values, by introducing the multi-temporal variogram which exploits the temporal series and we apply it to Sentinel-1 acquisitions.
David Schwartz, Beatrice Pinel-Puyssegur
IGARSS1
2018 Learning by Explaining to a Digital Doppelganger
Ning Wang 0012, Ari Shapiro, Andrew W. Feng, Cindy Zhuang, Chirag Merchant, David Schwartz, Stephen L. Goldberg
ITS6
2018 Addressing Sexist Attitudes on a College Campus through Virtual Role-Play with Digital Doppelgangers
abstract
Digital doppelgangers are virtual humans that highly resemble the real self but behave independently. Digital doppelgangers possess great potential to serve as powerful models for behavioral change. An emerging technology, the Rapid Avatar Capture and Simulation (RACAS) system, enables low-cost and high-speed scanning of a human user and creation of a digital doppelganger that is a fully animatable virtual 3D model of the user. We designed a virtual role-playing game, DELTA, that implements a powerful cognitive dissonance-based paradigm for attitudinal and behavioral change, and integrated it with digital doppelgangers to influence a human user's attitude towards sexism on college campuses. In this paper, we discuss the design and evaluation the RACAS system and the DELTA game-based environment. Results indicate the potential impact of the DELTA game-based environment in creating an immersive virtual experience for attitudinal change.
Ning Wang 0012, David Schwartz, Gabrielle Lewine, Ari Shapiro, Andrew W. Feng, Cindy Zhuang
IVA2
2017 Virtual Role-Play with Rapid Avatars
Ning Wang 0012, Ari Shapiro, David Schwartz, Gabrielle Lewine, Andrew Wei-Wen Feng
IVA3
1999 Dynamically Programmable Cache Evaluation and Virtualization
abstract
No abstract available.
Mouna Nakkar, David G. Bentlage, John Harding, David Schwartz, Paul D. Franzon, Thomas M. Conte
FPGA4