Alexandra Bugariu

dblp:225/0371 · DBLP profile ↗
← Back
4ranked-venue papers
4as first author
2since 2021 · last 2023
0000-0002-7412-0895ORCID · corroborated

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

Software engineering, systems software and programming languages · 3 · 3 first-author · 1 since 2021Theory of computation · 2 · 2 first-author · 2 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
Software testing · 36% Program verification · 35% Program analysis · 29%
Theoretical computer science
1 paper
Automated reasoning and model checking · 100%

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

TopicWeightPapersLastEvidence papers
Program verification › decision procedure
satisfiability modulo theories
0.412020
Automatically testing string solvers · ICSE 2020
Software testing
SMT solver testing
0.412020
Automatically testing string solvers · ICSE 2020
Program analysis › constraint solving
string constraint solving
0.412020
Automatically testing string solvers · ICSE 2020
Software testing
test generation
0.412020
Automatically testing string solvers · ICSE 2020
Program analysis
static analysis
0.312018
Automatically testing implementations of numerical abstract domains · ASE 2018
Automated reasoning and model checking
satisfiability modulo theories
0.112021
Identifying Overly Restrictive Matching Patterns in SMT-Based Program Verifiers · FM 2021
Software testing
metamorphic testing
0.112018
Automatically testing implementations of numerical abstract domains · ASE 2018

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

SMT solving · 1.0fuzzing · 0.4differential testing · 0.4
YearPublicationVenuePosition
2023 Identifying Overly Restrictive Matching Patterns in SMT-based Program Verifiers (Extended Version)
abstract
Universal quantifiers occur frequently in proof obligations produced by program verifiers, for instance, to axiomatize uninterpreted functions and to statically express properties of arrays. SMT-based verifiers typically reason about them via E-matching, an SMT algorithm that requires syntactic matching patterns to guide the quantifier instantiations. Devising good matching patterns is challenging. In particular, overly restrictive patterns may lead to spurious verification errors if the quantifiers needed for proof are not instantiated; they may also conceal unsoundness caused by inconsistent axiomatizations. In this article, we present the first technique that identifies and helps the users and the developers of program verifiers remedy the effects of overly restrictive matching patterns. We designed a novel algorithm to synthesize missing triggering terms required to complete unsatisfiability proofs via E-matching. Tool developers can use this information to refine their matching patterns and prevent similar verification errors, or to fix a detected unsoundness.
Alexandra Bugariu, Arshavir Ter-Gabrielyan, Peter Müller 0001
Formal Aspects Comput.1
2021 Identifying Overly Restrictive Matching Patterns in SMT-Based Program Verifiers
Alexandra Bugariu, Arshavir Ter-Gabrielyan, Peter Müller 0001
FM1
2020 Automatically testing string solvers
abstract
SMT solvers are at the basis of many applications, such as program verification, program synthesis, and test case generation. For all these applications to provide reliable results, SMT solvers must answer queries correctly. However, since they are complex, highly-optimized software systems, ensuring their correctness is challenging. In particular, state-of-the-art testing techniques do not reliably detect when an SMT solver is unsound.
Alexandra Bugariu, Peter Müller 0001
ICSE1
2018 Automatically testing implementations of numerical abstract domains
abstract
Static program analyses are routinely applied as the basis of code optimizations and to detect safety and security issues in software systems. For their results to be reliable, static analyses should be sound (i.e., should not produce false negatives) and precise (i.e., should report a low number of false positives). Even though it is possible to prove properties of the design of a static analysis, ensuring soundness and precision for its implementation is challenging. Complex algorithms and sophisticated optimizations make static analyzers difficult to implement and test.
Alexandra Bugariu, Valentin Wüstholz, Maria Christakis, Peter Müller 0001
ASE1