Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Artem Khyzha

dblp:123/9997 · DBLP profile ↗
← Back
10ranked-venue papers
6as first author
4since 2021 · last 2024
0000-0002-6781-9665ORCID · corroborated

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

Software engineering, systems software and programming languages · 5 · 4 first-author · 2 since 2021Systems, architecture and hardware · 3 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 since 2021Theory of computation · 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
3 papers
Concurrent programming · 68% Program verification · 32%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
Memory systems · 59% Electronic design automation · 26% Parallel and multicore computing · 11%
Network and information security
2 papers
Hardware security and side channels · 100%
Theoretical computer science
2 papers
Automated reasoning and model checking · 40% Distributed computing theory · 40% Algorithms and data structures · 21%

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

TopicWeightPapersLastEvidence papers
Hardware security and side channels
microarchitectural side channel
0.812024
RTL2MμPATH: Multi-μPATH Synthesis with Applications to Hardware Security Verification · MICRO 2024
Electronic design automation › hardware verification and test
hardware verification
0.812024
RTL2MμPATH: Multi-μPATH Synthesis with Applications to Hardware Security Verification · MICRO 2024
Memory systems › memory consistency
memory consistency model
0.722024
Taming x86-TSO persistency · Proc. ACM Program. Lang. 2021
RTL2MμPATH: Multi-μPATH Synthesis with Applications to Hardware Security Verification · MICRO 2024
Concurrent programming
memory models
0.622021
Taming x86-TSO persistency · Proc. ACM Program. Lang. 2021
Safe privatization in transactional memory · PPoPP 2018
Concurrent programming › memory models
persistency models
0.512021
Taming x86-TSO persistency · Proc. ACM Program. Lang. 2021
Memory systems
non-volatile memory
0.512021
Taming x86-TSO persistency · Proc. ACM Program. Lang. 2021
Memory systems › memory consistency
x86-TSO
0.512021
Taming x86-TSO persistency · Proc. ACM Program. Lang. 2021
Concurrent programming
concurrent data structures
0.412020
Proving highly-concurrent traversals correct · Proc. ACM Program. Lang. 2020
Program verification
concurrent program verification
0.412020
Proving highly-concurrent traversals correct · Proc. ACM Program. Lang. 2020
Concurrent programming › atomicity
linearizability
0.412020
Proving highly-concurrent traversals correct · Proc. ACM Program. Lang. 2020
Program verification › concurrent program verification
linearizability verification
0.412020
Proving highly-concurrent traversals correct · Proc. ACM Program. Lang. 2020
Hardware security and side channels › microarchitectural attacks › transient execution attack
speculative execution attack
0.412019
Speculative Taint Tracking (STT): A Comprehensive Protection for Speculatively Accessed Data · MICRO 2019
Hardware security and side channels › microarchitectural attacks › transient execution attack
speculative execution defense
0.412019
Speculative Taint Tracking (STT): A Comprehensive Protection for Speculatively Accessed Data · MICRO 2019
Parallel and multicore computing
transactional memory
0.312018
Safe privatization in transactional memory · PPoPP 2018
Distributed computing theory › shared memory consistency
linearizability
0.212016
A Generic Logic for Proving Linearizability · FM 2016
Automated reasoning and model checking
program verification
0.212016
A Generic Logic for Proving Linearizability · FM 2016
Concurrent programming › concurrency bugs
data race freedom
0.222021
Taming x86-TSO persistency · Proc. ACM Program. Lang. 2021
Safe privatization in transactional memory · PPoPP 2018
Program verification
program logic
0.112021
Taming x86-TSO persistency · Proc. ACM Program. Lang. 2021
Algorithms and data structures › data structure design › search structures
search trees
0.112020
Proving highly-concurrent traversals correct · Proc. ACM Program. Lang. 2020
Processor architecture and microarchitecture
speculative execution
0.112019
Speculative Taint Tracking (STT): A Comprehensive Protection for Speculatively Accessed Data · MICRO 2019

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

formal verification · 2.5symbolic information flow analysis · 1.5operational semantics · 1.0declarative semantics · 1.0linearizability proof technique · 0.9speculative taint tracking · 0.8instruction delay · 0.8transactional fencing · 0.7formal correctness reasoning · 0.7
YearPublicationVenuePosition
2024 RTL2MμPATH: Multi-μPATH Synthesis with Applications to Hardware Security Verification
abstract
The Check tools automate formal memory consistency model and security verification of processors by analyzing abstract models of microarchitectures, called μSPEC models. Despite the efficacy of this approach, a verification gap between μSPEC models, which must be manually written, and RTL limits the Check tools' broad adoption. Our prior work, called RTL2μSPEC, narrows this gap by automatically synthesizing formally verified μSPEC models from System Verilog implementations of simple processors. But, RTL2μSPEC assumes input designs where an instruction (e.g., a load) cannot exhibit more than one microarchitectural execution path (μPATH, e.g., a cache hit or miss path)-its single-execution-path assumption. In this paper, we first propose an automated approach and tool, called RTL2MμPATH, that resolves RTL2μSPEC's single-execution-path assumption. Given a System Verilog processor design, instruction encodings, and modest design metadata, RTL2MμPATH finds a complete set of formally verified μPATHS for each instruction. Next, we make an important observation: an instruction that can exhibit more than one μPATH strongly indicates the presence of a microarchitectural side channel in the input design. Based on this observation, we then propose an automated approach and tool, called Synthlc, that extends RTL2MμPATH with a symbolic information flow analysis to support synthesizing a variety of formally verified leakage contracts from System Verilog processor designs. Leakage contracts are foundational to state-of-the-art defenses against hardware side-channel attacks. SYnthlcis the first automated methodology for formally verifying hardware adherence to them.
Yao Hsiao, Nikos Nikoleris, Artem Khyzha, Dominic P. Mulligan, Gustavo Petri, Christopher W. Fletcher, Caroline Trippel
MICRO3
2022 Elastic Indexes: Dynamic Space vs. Query Efficiency Tuning for In-Memory Database Indexing
Moshe Hershcovitch, Artem Khyzha, Daniel G. Waddington, Adam Morrison 0001
EDBT2
2022 Abstraction for Crash-Resilient Objects
abstract
Abstract We study abstraction for crash-resilient concurrent objects using non-volatile memory (NVM). We develop a library-correctness criterion that is sound for ensuring contextual refinement in this setting, thus allowing clients to reason about library behaviors in terms of their abstract specifications, and library developers to verify their implementations against the specifications abstracting away from particular client programs. As a semantic foundation we employ a recent NVM model, called Persistent Sequential Consistency, and extend its language and operational semantics with useful specification constructs. The proposed correctness criterion accounts for NVM-related interactions between client and library code due to explicit persist instructions, and for calling policies enforced by libraries. We illustrate our approach on two implementations and specifications of simple persistent objects with different prototypical durability guarantees. Our results provide the first approach to formal compositional reasoning under NVM.
Artem Khyzha, Ori Lahav 0001
ESOP1
2021 Taming x86-TSO persistency
abstract
We study the formal semantics of non-volatile memory in the x86-TSO architecture. We show that while the explicit persist operations in the recent model of Raad et al. from POPL'20 only enforce order between writes to the non-volatile memory, it is equivalent, in terms of reachable states, to a model whose explicit persist operations mandate that prior writes are actually written to the non-volatile memory. The latter provides a novel model that is much closer to common developers' understanding of persistency semantics. We further introduce a simpler and stronger sequentially consistent persistency model, develop a sound mapping from this model to x86, and establish a data-race-freedom guarantee providing programmers with a safe programming discipline. Our operational models are accompanied with equivalent declarative formulations, which facilitate our formal arguments, and may prove useful for program verification under x86 persistency.
Artem Khyzha, Ori Lahav 0001
Proc. ACM Program. Lang.1
2020 Proving highly-concurrent traversals correct
abstract
Modern highly-concurrent search data structures, such as search trees, obtain multi-core scalability and performance by having operations traverse the data structure without any synchronization. As a result, however, these algorithms are notoriously difficult to prove linearizable, which requires identifying a point in time in which the traversal's result is correct. The problem is that traversing the data structure as it undergoes modifications leads to complex behaviors, necessitating intricate reasoning about all interleavings of reads by traversals and writes mutating the data structure. In this paper, we present a general proof technique for proving unsynchronized traversals correct in a significantly simpler manner, compared to typical concurrent reasoning and prior proof techniques. Our framework relies only on sequential properties of traversals and on a conceptually simple and widely-applicable condition about the ways an algorithm's writes mutate the data structure. Establishing that a target data structure satisfies our condition requires only simple concurrent reasoning, without considering interactions of writes and reads. This reasoning can be further simplified by using our framework. To demonstrate our technique, we apply it to prove several interesting and challenging concurrent binary search trees: the logical-ordering AVL tree, the Citrus tree, and the full contention-friendly tree. Both the logical-ordering tree and the full contention-friendly tree are beyond the reach of previous approaches targeted at simplifying linearizability proofs.
Yotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison 0001, Aleksandar Nanevski, Noam Rinetzky, Sharon Shoham
Proc. ACM Program. Lang.2
2019 Speculative Taint Tracking (STT): A Comprehensive Protection for Speculatively Accessed Data
abstract
Speculative execution attacks present an enormous security threat, capable of reading arbitrary program data under malicious speculation, and later exfiltrating that data over microarchitectural covert channels. Since these attacks first rely on being able to read arbitrary data (potential secrets), a conservative approach to defeat all attacks is to delay the execution of instructions that read those secrets, until those instructions become non-speculative.
Jiyong Yu, Mengjia Yan 0001, Artem Khyzha, Adam Morrison 0001, Josep Torrellas, Christopher W. Fletcher
MICRO3
2019 Privatization-Safe Transactional Memories
abstract
Transactional memory (TM) facilitates the development of concurrent applications by letting the programmer designate certain code blocks as atomic. Programmers using a TM often would like to access the same data both inside and outside transactions, and would prefer their programs to have a strongly atomic semantics, which allows transactions to be viewed as executing atomically with respect to non-transactional accesses. Since guaranteeing such semantics for arbitrary programs is prohibitively expensive, researchers have suggested guaranteeing it only for certain data-race free (DRF) programs, particularly those that follow the privatization idiom: from some point on, threads agree that a given object can be accessed non-transactionally. In this paper we show that a variant of Transactional DRF (TDRF) by Dalessandro et al. is appropriate for a class of privatization-safe TMs, which allow using privatization idioms. We prove that, if such a TM satisfies a condition we call privatization-safe opacity and a program using the TM is TDRF under strongly atomic semantics, then the program indeed has such semantics. We also present a method for proving privatization-safe opacity that reduces proving this generalization to proving the usual opacity, and apply the method to a TM based on two-phase locking and a privatization-safe version of TL2. Finally, we establish the inherent cost of privatization-safety: we prove that a TM cannot be progressive and have invisible reads if it guarantees strongly atomic semantics for TDRF programs.
Artem Khyzha, Hagit Attiya, Alexey Gotsman
DISC1
2018 Safe privatization in transactional memory
abstract
Transactional memory (TM) facilitates the development of concurrent applications by letting the programmer designate certain code blocks as atomic. Programmers using a TM often would like to access the same data both inside and outside transactions, e.g., to improve performance or to support legacy code. In this case, programmers would ideally like the TM to guarantee strong atomicity, where transactions can be viewed as executing atomically also with respect to non-transactional accesses. Since guaranteeing strong atomicity for arbitrary programs is prohibitively expensive, researchers have suggested guaranteeing it only for certain data-race free (DRF) programs, particularly those that follow the privatization idiom: from some point on, threads agree that a given object can be accessed non-transactionally. Supporting privatization safely in a TM is nontrivial, because this often requires correctly inserting transactional fences, which wait until all active transactions complete.
Artem Khyzha, Hagit Attiya, Alexey Gotsman, Noam Rinetzky
PPoPP1
2017 Proving Linearizability Using Partial Orders
Artem Khyzha, Mike Dodds, Alexey Gotsman, Matthew J. Parkinson
ESOP1
2016 A Generic Logic for Proving Linearizability
Artem Khyzha, Alexey Gotsman, Matthew J. Parkinson
FM1