Haojun Ma

dblp:241/7464 · DBLP profile ↗
← Back
4ranked-venue papers
3as first author
2since 2021 · last 2022
0000-0002-2155-4809ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 2 first-author · 1 since 2021Systems, architecture and hardware · 1 · 1 first-author · 1 since 2021

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
Program verification · 100%
Theoretical computer science
1 paper
Distributed computing theory · 77% Automated reasoning and model checking · 23%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 100%

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

TopicWeightPapersLastEvidence papers
Program verification
concurrent program verification
0.612022
Armada: Automated Verification of Concurrent Code with Sound Semantic Extensibility · ACM Trans. Program. Lang. Syst. 2022
Program verification
distributed system verification
0.612022
Sift: Using Refinement-guided Automation to Verify Complex Distributed Systems · USENIX ATC 2022
Program verification › modular reasoning
rely-guarantee reasoning
0.612022
Armada: Automated Verification of Concurrent Code with Sound Semantic Extensibility · ACM Trans. Program. Lang. Syst. 2022
Program verification › protocol verification
distributed protocol verification
0.412019
I4: incremental inference of inductive invariants for verification of distributed protocols · SOSP 2019
Program verification › invariant generation
inductive invariant inference
0.412019
I4: incremental inference of inductive invariants for verification of distributed protocols · SOSP 2019
Distributed computing theory › distributed algorithms
distributed protocols
0.412019
I4: incremental inference of inductive invariants for verification of distributed protocols · SOSP 2019
Automated reasoning and model checking
invariant generation
0.112019
I4: incremental inference of inductive invariants for verification of distributed protocols · SOSP 2019

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

refinement · 1.1incremental inference · 0.8pointer analysis · 0.6TSO elimination · 0.6SMT solving · 0.6inductive invariants · 0.4inductive invariant · 0.4
YearPublicationVenuePosition
2022 Sift: Using Refinement-guided Automation to Verify Complex Distributed Systems
Haojun Ma, Hammad Ahmad, Aman Goel, Eli Goldweber, Jean-Baptiste Jeannin, Manos Kapritsos, Baris Kasikci
USENIX ATC1
2022 Armada: Automated Verification of Concurrent Code with Sound Semantic Extensibility
abstract
Safely writing high-performance concurrent programs is notoriously difficult. To aid developers, we introduce Armada, a language and tool designed to formally verify such programs with relatively little effort. Via a C-like language and a small-step, state-machine-based semantics, Armadagives developers the flexibility to choose arbitrary memory layout and synchronization primitives so that they are never constrained in their pursuit of performance. To reduce developer effort, Armadaleverages SMT-powered automation and a library of powerful reasoning techniques, including rely-guarantee, TSO elimination, reduction, and pointer analysis. All of these techniques are proven sound, and Armadacan be soundly extended with additional strategies over time. Using Armada, we verify five concurrent case studies and show that we can achieve performance equivalent to that of unverified code.
Jacob R. Lorch, Yixuan Chen 0002, Manos Kapritsos, Haojun Ma, Bryan Parno, Shaz Qadeer, Upamanyu Sharma, James R. Wilcox, Xueyuan Zhao
ACM Trans. Program. Lang. Syst.4
2019 Towards Automatic Inference of Inductive Invariants
abstract
Distributed systems are notoriously difficult to design and implement correctly. Formal verification provides correctness proofs, and has recently been successfully applied to various distributed systems. At the heart of a typical formal verification is a computer-checked proof with an inductive invariant. Finding this inductive invariant is the hardest part of the proof: a part that is currently undertaken manually by the developer and is responsible for most of the effort associated with formal verification.
Haojun Ma, Aman Goel, Jean-Baptiste Jeannin, Manos Kapritsos, Baris Kasikci, Karem A. Sakallah
HotOS1
2019 I4: incremental inference of inductive invariants for verification of distributed protocols
abstract
Designing and implementing distributed systems correctly is a very challenging task. Recently, formal verification has been successfully used to prove the correctness of distributed systems. At the heart of formal verification lies a computer-checked proof with an inductive invariant. Finding this inductive invariant, however, is the most difficult part of the proof. Alas, current proof techniques require inductive invariants to be found manually---and painstakingly---by the developer.
Haojun Ma, Aman Goel, Jean-Baptiste Jeannin, Manos Kapritsos, Baris Kasikci, Karem A. Sakallah
SOSP1