Demo Data from SIGIR 2026 / reviewers in the wild / expert
Roman Manevich
dblp:24/120
· DBLP profile ↗
20ranked-venue papers
7as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 18 · 7 first-authorTheory of computation · 2 · 1 first-authorArtificial intelligence and machine learning · 1Systems, 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
8 papers |
Program analysis · 32% Concurrent programming · 22% Program verification · 22% | |
| Computer architecture, parallel and distributed computing, and storage systems
4 papers |
Parallel and multicore computing · 78% High-performance computing · 22% | |
| Databases, data mining, and information retrieval
1 paper |
Transaction processing and concurrency control · 50% Web and social media mining · 50% | |
| Theoretical computer science
2 papers |
Graph algorithms and graph theory · 100% |
Topics — the 19 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis › pointer analysis
shape analysis |
0.5 | 3 | 2016 | From Shape Analysis to Termination Analysis in Linear Time · CAV (1) 2016 A shape analysis for optimizing parallel graph programs · POPL 2011 Thread Quantification for Concurrent Shape Analysis · CAV 2008 |
Parallel and multicore computing
parallel programming models |
0.3 | 2 | 2012 | Elixir: a system for synthesizing concurrent graph programs · OOPSLA 2012 The tao of parallelism in algorithms · PLDI 2011 |
Program verification
termination analysis |
0.2 | 1 | 2016 | From Shape Analysis to Termination Analysis in Linear Time · CAV (1) 2016 |
Compilers and program optimization
program transformation |
0.2 | 1 | 2015 | Synthesizing parallel graph programs via automated planning · PLDI 2015 |
Web and social media mining › event detection
conflict detection |
0.1 | 1 | 2012 | JANUS: exploiting parallelism via hindsight · PLDI 2012 |
Transaction processing and concurrency control › concurrency control
optimistic concurrency control |
0.1 | 1 | 2012 | JANUS: exploiting parallelism via hindsight · PLDI 2012 |
Concurrent programming › concurrency control
optimistic concurrency control |
0.1 | 1 | 2012 | JANUS: exploiting parallelism via hindsight · PLDI 2012 |
Program synthesis and code generation › concurrent program synthesis
parallel program synthesis |
0.1 | 1 | 2012 | Elixir: a system for synthesizing concurrent graph programs · OOPSLA 2012 |
Concurrent programming
synchronization |
0.1 | 1 | 2012 | JANUS: exploiting parallelism via hindsight · PLDI 2012 |
High-performance computing › performance optimization
auto-tuning |
0.1 | 1 | 2012 | Elixir: a system for synthesizing concurrent graph programs · OOPSLA 2012 |
Parallel and multicore computing
parallel graph algorithms |
0.1 | 1 | 2011 | A shape analysis for optimizing parallel graph programs · POPL 2011 |
Parallel and multicore computing
speculative parallelization |
0.1 | 1 | 2011 | A shape analysis for optimizing parallel graph programs · POPL 2011 |
Program analysis
static analysis |
0.1 | 2 | 2016 | From Shape Analysis to Termination Analysis in Linear Time · CAV (1) 2016 PSE: explaining program failures via postmortem static analysis · SIGSOFT FSE 2004 |
Program verification › concurrent program verification
parameterized verification |
0.1 | 1 | 2010 | Parameterized verification of transactional memories · PLDI 2010 |
Concurrent programming
transactional memory |
0.1 | 1 | 2010 | Parameterized verification of transactional memories · PLDI 2010 |
Debugging and program repair
fault localization |
0.0 | 1 | 2004 | PSE: explaining program failures via postmortem static analysis · SIGSOFT FSE 2004 |
Graph algorithms and graph theory
graph algorithms |
0.0 | 1 | 2012 | Elixir: a system for synthesizing concurrent graph programs · OOPSLA 2012 |
Machine learning › Graph learning
graph algorithms |
0.0 | 1 | 2011 | The tao of parallelism in algorithms · PLDI 2011 |
Program verification
model checking |
0.0 | 1 | 2010 | Parameterized verification of transactional memories · PLDI 2010 |
Methods — techniques the papers use, named apart from their topics
shape analysis · 0.5automated planning · 0.4schedule specification · 0.4inference techniques · 0.4auto-tuning · 0.4dependence graph analysis · 0.4conflict detection · 0.3termination analysis · 0.2symmetry reduction · 0.1satisfiability modulo theories · 0.1invisible invariants · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Harnessing Static Analysis to Help Learn Pseudo-Inverses of String Manipulating Procedures for Automatic Test Generation
Oren Ish-Shalom, Shachar Itzhaky, Roman Manevich, Noam Rinetzky |
VMCAI | 3 |
| 2019 | Learning the Scope of Applicability for Task Planning Knowledge in Experience-Based Planning DomainsabstractExperience-based planning domains (EBPDs) have been proposed to improve problem solving by learning from experience. They rely on acquiring and using task knowledge, i.e., activity schemata, for generating solutions to problem instances in a class of tasks. Using Three-Valued Logic Analysis (TVLA), we extend our previous work to generate a set of conditions that determine the scope of applicability of an activity schema. The inferred scope is an abstract representation of a potentially unbounded set of problems, in the form of a 3-valued logical structure, which is used to test the applicability of the respective activity schema for solving different task problems. We validate this work on two classical planning domains and a simulated PR2 in Gazebo. Vahid Mokhtari, Roman Manevich, Luís Seabra Lopes, Armando J. Pinho |
IROS | 2 |
| 2018 | Abstract Interpretation of Stateful Networks
Kalev Alpernas, Roman Manevich, Aurojit Panda, Shmuel Sagiv, Scott Shenker, Sharon Shoham, Yaron Velner |
SAS | 2 |
| 2017 | Programming reflexes (Extended abstract)abstractFormal verification serves as the theoretical basis for the engineering task of correctness and performance (quality) assurance. State of the art model checking, automatic specification refinement and theorem proving are employed to tackle the often undecidable (as imposed by the halting problem) task of complete verification. In this paper we formalize, prove and demonstrate a new unobtrusive way to test a system during runtime. Invocation of actions and examination of reaction of the system and components of the system are examined in run time in an holistic abstract manner, namely, the current state (e.g., state snapshot) the executable (e.g., program) and the environmental current condition (e.g., operating system, hypervisor) are examined by invoking actions and examining the reactions without influencing the actual execution semantics. Shlomi Dolev, Roman Manevich, Amit Rokach |
NCA | 2 |
| 2016 | From Shape Analysis to Termination Analysis in Linear Time
Roman Manevich, Boris Dogadov, Noam Rinetzky |
CAV (1) | 1 |
| 2015 | Synthesizing parallel graph programs via automated planningabstractWe describe a system that uses automated planning to synthesize correct and efficient parallel graph programs from high-level algorithmic specifications. Automated planning allows us to use constraints to declaratively encode program transformations such as scheduling, implementation selection, and insertion of synchronization. Each plan emitted by the planner satisfies all constraints simultaneously, and corresponds to a composition of these transformations. In this way, we obtain an integrated compilation approach for a very challenging problem domain. We have used this system to synthesize parallel programs for four graph problems: triangle counting, maximal independent set computation, preflow-push maxflow, and connected components. Experiments on a variety of inputs show that the synthesized implementations perform competitively with hand-written, highly-tuned code. Dimitrios Prountzos, Roman Manevich, Keshav Pingali |
PLDI | 2 |
| 2012 | Elixir: a system for synthesizing concurrent graph programsabstractAlgorithms in new application areas like machine learning and network analysis use "irregular" data structures such as graphs, trees and sets. Writing efficient parallel code in these problem domains is very challenging because it requires the programmer to make many choices: a given problem can usually be solved by several algorithms, each algorithm may have many implementations, and the best choice of algorithm and implementation can depend not only on the characteristics of the parallel platform but also on properties of the input data such as the structure of the graph. One solution is to permit the application programmer to experiment with different algorithms and implementations without writing every variant from scratch. Auto-tuning to find the best variant is a more ambitious solution. These solutions require a system for automatically producing efficient parallel implementations from high-level specifications. Elixir, the system described in this paper, is the first step towards this ambitious goal. Application programmers write specifications that consist of an operator, which describes the computations to be performed, and a schedule for performing these computations. Elixir uses sophisticated inference techniques to produce efficient parallel code from such specifications. Dimitrios Prountzos, Roman Manevich, Keshav Pingali |
OOPSLA | 2 |
| 2012 | JANUS: exploiting parallelism via hindsightabstractThis paper addresses the problem of reducing unnecessary conflicts in optimistic synchronization. Optimistic synchronization must ensure that any two concurrently executing transactions that commit are properly synchronized. Conflict detection is an approximate check for this condition. For efficiency, the traditional approach to conflict detection conservatively checks that the memory locations mutually accessed by two concurrent transactions are accessed only for reading. Omer Tripp, Roman Manevich, John Field, Shmuel Sagiv |
PLDI | 2 |
| 2011 | The tao of parallelism in algorithmsabstractFor more than thirty years, the parallel programming community has used the dependence graph as the main abstraction for reasoning about and exploiting parallelism in "regular" algorithms that use dense arrays, such as finite-differences and FFTs. In this paper, we argue that the dependence graph is not a suitable abstraction for algorithms in new application areas like machine learning and network analysis in which the key data structures are "irregular" data structures like graphs, trees, and sets. Keshav Pingali, Donald Nguyen, Milind Kulkarni 0001, Martin Burtscher, Muhammad Amber Hassaan, Rashid Kaleem, Tsung-Hsien Lee, Andrew Lenharth, Roman Manevich, Mario Méndez-Lojo, Dimitrios Prountzos |
PLDI | 9 |
| 2011 | A shape analysis for optimizing parallel graph programsabstractComputations on unstructured graphs are challenging to parallelize because dependences in the underlying algorithms are usually complex functions of runtime data values, thwarting static parallelization. One promising general-purpose parallelization strategy for these algorithms is optimistic parallelization. Dimitrios Prountzos, Roman Manevich, Keshav Pingali, Kathryn S. McKinley |
POPL | 2 |
| 2010 | Parameterized verification of transactional memoriesabstractWe describe an automatic verification method to check whether transactional memories ensure strict serializability a key property assumed of the transactional interface. Our main contribution is a technique for effectively verifying parameterized systems. The technique merges ideas from parameterized hardware and protocol verification--verification by invisible invariants and symmetry reduction--with ideas from software verification--template-based invariant generation and satisfiability checking for quantified formulæ (modulo theories). The combination enables us to precisely model and analyze unbounded systems while taming state explosion. Michael Emmi, Rupak Majumdar, Roman Manevich |
PLDI | 3 |
| 2009 | Abstract Transformers for Thread Correlation Analysis
Michal Segalov, Tal Lev-Ami, Roman Manevich, G. Ramalingam, Shmuel Sagiv |
APLAS | 3 |
| 2008 | Thread Quantification for Concurrent Shape Analysis
Josh Berdine, Tal Lev-Ami, Roman Manevich, G. Ramalingam, Shmuel Sagiv |
CAV | 3 |
| 2008 | Heap Decomposition for Concurrent Shape Analysis
Roman Manevich, Tal Lev-Ami, Shmuel Sagiv, G. Ramalingam, Josh Berdine |
SAS | 1 |
| 2007 | Shape Analysis by Graph Decomposition
Roman Manevich, Josh Berdine, Byron Cook, G. Ramalingam, Shmuel Sagiv |
TACAS | 1 |
| 2006 | Combining Shape Analyses by Intersecting Abstractions
Gilad Arnold, Roman Manevich, Shmuel Sagiv, Ran Shaham |
VMCAI | 2 |
| 2005 | Predicate Abstraction and Canonical Abstraction for Singly-Linked Lists
Roman Manevich, Eran Yahav, G. Ramalingam, Shmuel Sagiv |
VMCAI | 1 |
| 2004 | Partially Disjunctive Heap Abstraction
Roman Manevich, Shmuel Sagiv, G. Ramalingam, John Field |
SAS | 1 |
| 2004 | PSE: explaining program failures via postmortem static analysisabstractIn this paper, we describe PSE (Postmortem Symbolic Evaluation), a static analysis algorithm that can be used by programmers to diagnose software failures. The algorithm requires minimal information about a failure, namely its kind (e.g. NULL dereference), and its location in the program's source code. It produces a set of execution traces along which the program can be driven to the given failure. Roman Manevich, Manu Sridharan, Stephen Adams 0001, Manuvir Das, Zhe Yang 0001 |
SIGSOFT FSE | 1 |
| 2002 | Compactly Representing First-Order Structures for Static Analysis
Roman Manevich, G. Ramalingam, John Field, Deepak Goyal, Shmuel Sagiv |
SAS | 1 |