Demo Data from EDBT 2026 / reviewers in the wild / expert
Marcelo Sousa
dblp:123/7772
· DBLP profile ↗
10ranked-venue papers
5as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 4 first-authorTheory of computation · 4 · 1 first-author · 1 since 2021Systems, 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
4 papers |
Program verification · 64% Software maintenance and evolution · 17% Program analysis · 14% | |
| Databases, data mining, and information retrieval
1 paper |
Query processing and optimization · 77% Data stream processing · 23% | |
| Theoretical computer science
1 paper |
Logic in computer science · 100% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program verification › model checking
partial order reduction |
0.3 | 1 | 2018 | Quasi-Optimal Partial Order Reduction · CAV (2) 2018 |
Software maintenance and evolution
software merging |
0.3 | 1 | 2018 | Verified three-way program merge · Proc. ACM Program. Lang. 2018 |
Program analysis › static analysis
abstract interpretation |
0.3 | 1 | 2017 | Abstract Interpretation with Unfoldings · CAV (2) 2017 |
Program verification › program logic
hoare logic |
0.2 | 1 | 2016 | Cartesian hoare logic for verifying k-safety properties · PLDI 2016 |
Program verification › relational verification
k-safety properties |
0.2 | 1 | 2016 | Cartesian hoare logic for verifying k-safety properties · PLDI 2016 |
Query processing and optimization › query optimization
user-defined function optimization |
0.2 | 1 | 2014 | Consolidation of queries with user-defined functions · PLDI 2014 |
Concurrent programming
concurrency bugs |
0.1 | 1 | 2018 | Quasi-Optimal Partial Order Reduction · CAV (2) 2018 |
Program verification › model checking
state space explosion |
0.1 | 1 | 2018 | Quasi-Optimal Partial Order Reduction · CAV (2) 2018 |
Logic in computer science › concurrency theory
unfolding |
0.1 | 1 | 2017 | Abstract Interpretation with Unfoldings · CAV (2) 2017 |
Data stream processing
streaming analytics |
0.1 | 1 | 2014 | Consolidation of queries with user-defined functions · PLDI 2014 |
Methods — techniques the papers use, named apart from their topics
unfolding · 0.6abstract interpretation · 0.6relational reasoning · 0.3lightweight summarization · 0.3dynamic partial order reduction · 0.3abstract syntax tree differencing · 0.34-way differencing · 0.3automated verification · 0.2SMT-based symbolic analysis · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Quasi-optimal partial order reduction
Camille Coti, Laure Petrucci, César Rodríguez, Marcelo Sousa |
Formal Methods Syst. Des. | 4 |
| 2018 | Quasi-Optimal Partial Order ReductionabstractA dynamic partial order reduction (DPOR) algorithm is optimal when it always explores at most one representative per Mazurkiewicz trace. Existing literature suggests that the reduction obtained by the non-optimal, state-of-the-art Source-DPOR (SDPOR) algorithm is comparable to optimal DPOR. We show the first program with $$\mathop {\mathcal {O}} (n)$$ Mazurkiewicz traces where SDPOR explores $$\mathop {\mathcal {O}} (2^n)$$ redundant schedules (as this paper was under review, we were made aware of the recent publication of another paper [3] which contains an independently-discovered example program with the same characteristics). We furthermore identify the cause of this blow-up as an NP-hard problem. Our main contribution is a new approach, called Quasi-Optimal POR, that can arbitrarily approximate an optimal exploration using a provided constant k. We present an implementation of our method in a new tool called Dpu using specialised data structures. Experiments with Dpu, including Debian packages, show that optimality is achieved with low values of k, outperforming state-of-the-art tools. Huyen T. T. Nguyen, César Rodríguez, Marcelo Sousa, Camille Coti, Laure Petrucci |
CAV (2) | 3 |
| 2018 | Verified three-way program mergeabstractEven though many programmers rely on 3-way merge tools to integrate changes from different branches, such tools can introduce subtle bugs in the integration process. This paper aims to mitigate this problem by defining a semantic notion of conflict-freedom, which ensures that the merged program does not introduce new unwanted behaviors. We also show how to verify this property using a novel, compositional algorithm that combines lightweight summarization for shared program fragments with precise relational reasoning for the modifications. Towards this goal, our method uses a 4-way differencing algorithm on abstract syntax trees to represent different program versions as edits applied to a shared program with holes. This representation allows our verification algorithm to reason about different edits in isolation and compose them to obtain an overall proof of conflict freedom. We have implemented the proposed technique in a new tool called SafeMerge for Java and evaluate it on 52 real-world merge scenarios obtained from Github. The experimental results demonstrate the benefits of our approach over syntactic conflict-freedom and indicate that SafeMerge is both precise and practical. Marcelo Sousa, Isil Dillig, Shuvendu K. Lahiri |
Proc. ACM Program. Lang. | 1 |
| 2017 | Abstract Interpretation with Unfoldings
Marcelo Sousa, César Rodríguez, Vijay Victor D'Silva, Daniel Kroening |
CAV (2) | 1 |
| 2017 | Independence Abstractions and Models of Concurrency
Vijay Victor D'Silva, Daniel Kroening, Marcelo Sousa |
VMCAI | 3 |
| 2017 | Complete Abstractions and Subclassical Modal Logics
Vijay Victor D'Silva, Marcelo Sousa |
VMCAI | 2 |
| 2016 | Cartesian hoare logic for verifying k-safety propertiesabstractUnlike safety properties which require the absence of a “bad” program trace, k-safety properties stipulate the absence of a “bad” interaction between k traces. Examples of k-safety properties include transitivity, associativity, anti-symmetry, and monotonicity. This paper presents a sound and relatively complete calculus, called Cartesian Hoare Logic (CHL), for verifying k-safety properties. We also present an automated verification algorithm based on CHL and implement it in a tool called DESCARTES. We use DESCARTES to analyze user-defined relational operators in Java and demonstrate that DESCARTES is effective at verifying (or finding violations of) multiple k-safety properties. Marcelo Sousa, Isil Dillig |
PLDI | 1 |
| 2015 | Unfolding-based Partial Order ReductionabstractPartial order reduction (POR) and net unfoldings are two alternative methods to tackle state-space explosion caused by concurrency. In this paper, we propose the combination of both approaches in an effort to combine their strengths. We first define, for an abstract execution model, unfolding semantics parameterized over an arbitrary independence relation. Based on it, our main contribution is a novel stateless POR algorithm that explores at most one execution per Mazurkiewicz trace, and in general, can explore exponentially fewer, thus achieving a form of super-optimality. Furthermore, our unfolding-based POR copes with non-terminating executions and incorporates state caching. On benchmarks with busy-waits, among others, our experiments show a dramatic reduction in the number of executions when compared to a state-of-the-art DPOR. César Rodríguez, Marcelo Sousa, Subodh Sharma 0001, Daniel Kroening |
CONCUR | 2 |
| 2014 | Consolidation of queries with user-defined functionsabstractMotivated by streaming and data analytics scenarios where many queries operate on the same data and perform similar computations, we propose program consolidation for merging multiple user-defined functions (UDFs) that operate on the same input. Program consolidation exploits common computations between UDFs to generate an equivalent optimized function whose execution cost is often much smaller (and never greater) than the sum of the costs of executing each function individually. We present a sound consolidation calculus and an effective algorithm for consolidating multiple UDFs. Our approach is purely static and uses symbolic SMT-based techniques to identify shared or redundant computations. We have implemented the proposed technique on top of the Naiad data processing system. Our experiments show that our algorithm dramatically improves overall job completion time when executing user-defined filters that operate on the same data and perform similar computations. Marcelo Sousa, Isil Dillig, Dimitrios Vytiniotis, Thomas Dillig, Christos Gkantsidis |
PLDI | 1 |
| 2013 | LLVMVF: A Generic Approach for Verification of Multicore Software
Marcelo Sousa, Alper Sen 0001 |
J. Electron. Test. | 1 |