Demo Data from SIGIR 2026 / reviewers in the wild / expert
Matko Botincan
dblp:64/7537
· DBLP profile ↗
6ranked-venue papers
5as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 5 · 4 first-authorSystems, architecture and hardware · 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
6 papers |
Program verification · 46% Concurrent programming · 17% Compilers and program optimization · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 100% |
Topics — the 15 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification › program logic
separation logic |
0.7 | 5 | 2013 | Proof-Directed Parallelization Synthesis by Separation Logic · ACM Trans. Program. Lang. Syst. 2013 Resource-sensitive synchronization inference by abduction · POPL 2012 jStar-eclipse: an IDE for automated verification of Java programs · SIGSOFT FSE 2011 |
Program verification › abstraction refinement
counterexample-guided abstraction refinement |
0.2 | 1 | 2013 | Sigma*: symbolic learning of input-output specifications · POPL 2013 |
Program analysis › symbolic execution
dynamic symbolic execution |
0.2 | 1 | 2013 | Sigma*: symbolic learning of input-output specifications · POPL 2013 |
Parallel and multicore computing
parallel programming models |
0.2 | 1 | 2013 | Proof-Directed Parallelization Synthesis by Separation Logic · ACM Trans. Program. Lang. Syst. 2013 |
Compilers and program optimization
parallelization |
0.1 | 1 | 2012 | Resource-sensitive synchronization inference by abduction · POPL 2012 |
Compilers and program optimization
synchronization insertion |
0.1 | 1 | 2012 | Resource-sensitive synchronization inference by abduction · POPL 2012 |
Concurrent programming › synchronization
synchronization synthesis |
0.1 | 1 | 2012 | Resource-sensitive synchronization inference by abduction · POPL 2012 |
Program verification
automated verification |
0.1 | 1 | 2011 | jStar-eclipse: an IDE for automated verification of Java programs · SIGSOFT FSE 2011 |
Concurrent programming › concurrency bugs
data race freedom |
0.1 | 1 | 2011 | Safe asynchronous multicore memory operations · ASE 2011 |
Program verification › code-level verification
java verification |
0.1 | 1 | 2011 | jStar-eclipse: an IDE for automated verification of Java programs · SIGSOFT FSE 2011 |
Programming languages and type systems › language-based security
memory safety |
0.1 | 1 | 2011 | Safe asynchronous multicore memory operations · ASE 2011 |
Program analysis › static analysis
dependency analysis |
0.1 | 2 | 2013 | Proof-Directed Parallelization Synthesis by Separation Logic · ACM Trans. Program. Lang. Syst. 2013 Resource-sensitive synchronization inference by abduction · POPL 2012 |
Compilers and program optimization › code generation
parallel code generation |
0.0 | 1 | 2013 | Sigma*: symbolic learning of input-output specifications · POPL 2013 |
User interface design and tools › programming environments
integrated development environment |
0.0 | 1 | 2011 | jStar-eclipse: an IDE for automated verification of Java programs · SIGSOFT FSE 2011 |
Parallel and multicore computing
multicore programming |
0.0 | 1 | 2011 | Safe asynchronous multicore memory operations · ASE 2011 |
Methods — techniques the papers use, named apart from their topics
separation logic · 1.1frame inference · 0.5abduction · 0.5numerical abstract domains · 0.2SMT solver · 0.2symbolic transducers · 0.2dynamic symbolic execution · 0.2counterexample-guided abstraction refinement · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Sigma*: symbolic learning of input-output specificationsabstractWe present Sigma*, a novel technique for learning symbolic models of software behavior. Sigma* addresses the challenge of synthesizing models of software by using symbolic conjectures and abstraction. By combining dynamic symbolic execution to discover symbolic input-output steps of the programs and counterexample guided abstraction refinement to over-approximate program behavior, Sigma* transforms arbitrary source representation of programs into faithful input-output models. We define a class of stream filters---programs that process streams of data items---for which Sigma* converges to a complete model if abstraction refinement eventually builds up a sufficiently strong abstraction. In other words, Sigma* is complete relative to abstraction. To represent inferred symbolic models, we use a variant of symbolic transducers that can be effectively composed and equivalence checked. Thus, Sigma* enables fully automatic analysis of behavioral properties such as commutativity, reversibility and idempotence, which is useful for web sanitizer verification and stream programs compiler optimizations, as we show experimentally. We also show how models inferred by Sigma* can boost performance of stream programs by parallelized code generation. Matko Botincan, Domagoj Babic |
POPL | 1 |
| 2013 | Proof-Directed Parallelization Synthesis by Separation LogicabstractWe present an analysis which takes as its input a sequential program, augmented with annotations indicating potential parallelization opportunities, and a sequential proof, written in separation logic, and produces a correctly synchronized parallelized program and proof of that program. Unlike previous work, ours is not a simple independence analysis that admits parallelization only when threads do not interfere; rather, we insert synchronization to preserve dependencies in the sequential program that might be violated by a naïve translation. Separation logic allows us to parallelize fine-grained patterns of resource usage, moving beyond straightforward points-to analysis. The sequential proof need only represent shape properties, meaning we can handle complex algorithms without verifying every aspect of their behavior. Our analysis works by using the sequential proof to discover dependencies between different parts of the program. It leverages these discovered dependencies to guide the insertion of synchronization primitives into the parallelized program, and to ensure that the resulting parallelized program satisfies the same specification as the original sequential program, and exhibits the same sequential behavior. Our analysis is built using frame inference and abduction, two techniques supported by an increasing number of separation logic tools. Matko Botincan, Mike Dodds, Suresh Jagannathan |
ACM Trans. Program. Lang. Syst. | 1 |
| 2012 | Resource-sensitive synchronization inference by abductionabstractWe present an analysis which takes as its input a sequential program, augmented with annotations indicating potential parallelization opportunities, and a sequential proof, written in separation logic, and produces a correctly-synchronized parallelized program and proof of that program. Unlike previous work, ours is not an independence analysis; we insert synchronization constructs to preserve relevant dependencies found in the sequential program that may otherwise be violated by a naive translation. Separation logic allows us to parallelize fine-grained patterns of resource-usage, moving beyond straightforward points-to analysis. Our analysis works by using the sequential proof to discover dependencies between different parts of the program. It leverages these discovered dependencies to guide the insertion of synchronization primitives into the parallelized program, and to ensure that the resulting parallelized program satisfies the same specification as the original sequential program, and exhibits the same sequential behaviour. Our analysis is built using frame inference and abduction, two techniques supported by an increasing number of separation logic tools. Matko Botincan, Mike Dodds, Suresh Jagannathan |
POPL | 1 |
| 2011 | Safe asynchronous multicore memory operationsabstractAsynchronous memory operations provide a means for coping with the memory wall problem in multicore processors, and are available in many platforms and languages, e.g., the Cell Broadband Engine, CUDA and OpenCL. Reasoning about the correct usage of such operations involves complex analysis of memory accesses to check for races. We present a method and tool for proving memory-safety and race-freedom of multicore programs that use asynchronous memory operations. Our approach uses separation logic with permissions, and our tool automates this method, targeting a C-like core language. We describe our solutions to several challenges that arose in the course of this research. These include: syntactic reasoning about permissions and arrays, integration of numerical abstract domains, and utilization of an SMT solver. We demonstrate the feasibility of our approach experimentally by checking absence of DMA races on a set of programs drawn from the IBM Cell SDK. Matko Botincan, Mike Dodds, Alastair F. Donaldson, Matthew J. Parkinson |
ASE | 1 |
| 2011 | Automatic safety proofs for asynchronous memory operationsabstractWe present a work-in-progress proof system and tool, based on separation logic, for analysing memory safety of multicore programs that use asynchronous memory operations. Categories and Subject Descriptors F.3.1 [Logics and Meanings Matko Botincan, Mike Dodds, Alastair F. Donaldson, Matthew J. Parkinson |
PPoPP | 1 |
| 2011 | jStar-eclipse: an IDE for automated verification of Java programsabstractjStar is a tool for automatically verifying Java programs. It uses separation logic to support abstract reasoning about object specifications. jStar can verify a number of challenging design patterns, including Subject/Observer, Visitor, Factory and Pooling. However, to use jStar one has to deal with a family of command-line tools that expect specifications in separate files and diagnose the errors by inspecting the text output from these tools. Daiva Naudziuniene, Matko Botincan, Dino Distefano, Mike Dodds, Radu Grigore, Matthew J. Parkinson |
SIGSOFT FSE | 2 |