VLDB 2026 Research / reviewers in the wild / expert
Abdulbaki Aydin
dblp:147/0425
· DBLP profile ↗
8ranked-venue papers
4as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 4 first-authorTheory of computation · 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
5 papers |
Program analysis · 83% Software testing · 12% Debugging and program repair · 5% | |
| Network and information security
3 papers |
Hardware security and side channels · 32% Privacy and data protection · 24% Web and mobile security · 18% | |
| Theoretical computer science
2 papers |
Automated reasoning and model checking · 57% Automata and formal languages · 43% |
Topics — the 18 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
symbolic execution |
0.9 | 3 | 2018 | Parameterized model counting for string and numeric constraints · ESEC/SIGSOFT FSE 2018 Constraint normalization and parameterized caching for quantitative program analysis · ESEC/SIGSOFT FSE 2017 String analysis for side channels with segmented oracles · SIGSOFT FSE 2016 |
Program analysis
constraint solving |
0.6 | 2 | 2018 | Parameterized model counting for string and numeric constraints · ESEC/SIGSOFT FSE 2018 Constraint normalization and parameterized caching for quantitative program analysis · ESEC/SIGSOFT FSE 2017 |
Program analysis › constraint solving
model counting |
0.6 | 2 | 2018 | Parameterized model counting for string and numeric constraints · ESEC/SIGSOFT FSE 2018 Constraint normalization and parameterized caching for quantitative program analysis · ESEC/SIGSOFT FSE 2017 |
Program analysis › data flow analysis › value analysis
string analysis |
0.4 | 2 | 2016 | String analysis for side channels with segmented oracles · SIGSOFT FSE 2016 Semantic differential repair for input validation and sanitization · ISSTA 2014 |
Hardware security and side channels
side-channel attack |
0.3 | 2 | 2017 | String analysis for side channels with segmented oracles · SIGSOFT FSE 2016 Constraint normalization and parameterized caching for quantitative program analysis · ESEC/SIGSOFT FSE 2017 |
Automata and formal languages
finite automata |
0.3 | 1 | 2018 | Parameterized model counting for string and numeric constraints · ESEC/SIGSOFT FSE 2018 |
Program analysis
quantitative program analysis |
0.3 | 1 | 2017 | Constraint normalization and parameterized caching for quantitative program analysis · ESEC/SIGSOFT FSE 2017 |
Privacy and data protection › information leakage
information leakage quantification |
0.2 | 1 | 2016 | String analysis for side channels with segmented oracles · SIGSOFT FSE 2016 |
Software testing › test coverage
path coverage |
0.2 | 1 | 2015 | Automatically computing path complexity of programs · ESEC/SIGSOFT FSE 2015 |
Software testing
test coverage |
0.2 | 1 | 2015 | Automatically computing path complexity of programs · ESEC/SIGSOFT FSE 2015 |
Automated reasoning and model checking
model counting |
0.2 | 1 | 2015 | Automata-Based Model Counting for String Constraints · CAV (1) 2015 |
Automated reasoning and model checking › constraint solving
string constraint solving |
0.2 | 1 | 2015 | Automata-Based Model Counting for String Constraints · CAV (1) 2015 |
Systems and software security › secure software development
input validation |
0.2 | 1 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 |
Web and mobile security
web security |
0.2 | 1 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 |
Debugging and program repair
automated program repair |
0.2 | 1 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 |
Program analysis
static analysis |
0.2 | 1 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 |
Authentication and access control
password security |
0.1 | 1 | 2016 | String analysis for side channels with segmented oracles · SIGSOFT FSE 2016 |
Program analysis › program representation
control flow graph |
0.1 | 1 | 2015 | Automatically computing path complexity of programs · ESEC/SIGSOFT FSE 2015 |
Methods — techniques the papers use, named apart from their topics
model counting · 1.1parameterized caching · 0.6group theory · 0.6constraint normalization · 0.6symbolic execution · 0.5string analysis · 0.5SMT solving · 0.5cyclomatic complexity · 0.2automata-based model counting · 0.2asymptotic analysis · 0.2NPATH complexity · 0.2symbolic string analysis · 0.2patch synthesis · 0.2automata · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Parameterized model counting for string and numeric constraintsabstractRecently, symbolic program analysis techniques have been extended to quantitative analyses using model counting constraint solvers. Given a constraint and a bound, a model counting constraint solver computes the number of solutions for the constraint within the bound. We present a parameterized model counting constraint solver for string and numeric constraints. We first construct a multi-track deterministic finite state automaton that accepts all solutions to the given constraint. We limit the numeric constraints to linear integer arithmetic, and for non-regular string constraints we over-approximate the solution set. Counting the number of accepting paths in the generated automaton solves the model counting problem. Our approach is parameterized in the sense that, we do not assume a finite domain size during automata construction, resulting in a potentially infinite set of solutions, and our model counting approach works for arbitrarily large bounds. We experimentally demonstrate the effectiveness of our approach on a large set of string and numeric constraints extracted from software applications. We experimentally compare our tool to five existing model counting constraint solvers for string and numeric constraints and demonstrate that our tool is as efficient and as or more precise than other solvers. Moreover, our tool can handle mixed constraints with string and integer variables that no other tool can. Abdulbaki Aydin, William Eiers, Lucas Bang, Tegan Brennan, Miroslav Gavrilov, Tevfik Bultan, Fang Yu 0001 |
ESEC/SIGSOFT FSE | 1 |
| 2017 | Visual Configuration of Mobile Privacy Policies
Abdulbaki Aydin, David Piorkowski, Omer Tripp, Pietro Ferrara 0001, Marco Pistoia |
FASE | 1 |
| 2017 | Constraint normalization and parameterized caching for quantitative program analysisabstractSymbolic program analysis techniques rely on satisfiability-checking constraint solvers, while quantitative program analysis techniques rely on model-counting constraint solvers. Hence, the efficiency of satisfiability checking and model counting is crucial for efficiency of modern program analysis techniques. In this paper, we present a constraint caching framework to expedite potentially expensive satisfiability and model-counting queries. Integral to this framework is our new constraint normalization procedure under which the cardinality of the solution set of a constraint, but not necessarily the solution set itself, is preserved. We extend these constraint normalization techniques to string constraints in order to support analysis of string-manipulating code. A group-theoretic framework which generalizes earlier results on constraint normalization is used to express our normalization techniques. We also present a parameterized caching approach where, in addition to storing the result of a model-counting query, we also store a model-counter object in the constraint store that allows us to efficiently recount the number of satisfying models for different maximum bounds. We implement our caching framework in our tool Cashew, which is built as an extension of the Green caching framework, and integrate it with the symbolic execution tool Symbolic PathFinder (SPF) and the model-counting constraint solver ABC. Our experiments show that constraint caching can significantly improve the performance of symbolic and quantitative program analyses. For instance, Cashew can normalize the 10,104 unique constraints in the SMC/Kaluza benchmark down to 394 normal forms, achieve a 10x speedup on the SMC/Kaluza-Big dataset, and an average 3x speedup in our SPF-based side-channel analysis experiments. Tegan Brennan, Nestan Tsiskaridze, Nicolás Rosner, Abdulbaki Aydin, Tevfik Bultan |
ESEC/SIGSOFT FSE | 4 |
| 2016 | String analysis for side channels with segmented oraclesabstractWe present an automated approach for detecting and quantifying side channels in Java programs, which uses symbolic execution, string analysis and model counting to compute information leakage for a single run of a program. We further extend this approach to compute information leakage for multiple runs for a type of side channels called segmented oracles, where the attacker is able to explore each segment of a secret (for example each character of a password) independently. We present an efficient technique for segmented oracles that computes information leakage for multiple runs using only the path constraints generated from a single run symbolic execution. Our implementation uses the symbolic execution tool Symbolic PathFinder (SPF), SMT solver Z3, and two model counting constraint solvers LattE and ABC. Although LattE has been used before for analyzing numeric constraints, in this paper, we present an approach for using LattE for analyzing string constraints. We also extend the string constraint solver ABC for analysis of both numeric and string constraints, and we integrate ABC in SPF, enabling quantitative symbolic string analysis. Lucas Bang, Abdulbaki Aydin, Quoc-Sang Phan, Corina Pasareanu, Tevfik Bultan |
SIGSOFT FSE | 2 |
| 2015 | Automata-Based Model Counting for String Constraints
Abdulbaki Aydin, Lucas Bang, Tevfik Bultan |
CAV (1) | 1 |
| 2015 | Automatically computing path complexity of programsabstractRecent automated software testing techniques concentrate on achieving path coverage. We present a complexity measure that provides an upper bound for the number of paths in a program, and hence, can be used for assessing the difficulty of achieving path coverage for a given method. We define the path complexity of a program as a function that takes a depth bound as input and returns the number of paths in the control flow graph that are within that bound. We show how to automatically compute the path complexity function in closed form, and the asymptotic path complexity which identifies the dominant term in the path complexity function. Our results demonstrate that path complexity can be computed efficiently, and it is a better complexity measure for path coverage compared to cyclomatic complexity and NPATH complexity. Lucas Bang, Abdulbaki Aydin, Tevfik Bultan |
ESEC/SIGSOFT FSE | 2 |
| 2014 | Automated Test Generation from Vulnerability SignaturesabstractWeb applications need to validate and sanitize user inputs in order to avoid attacks such as Cross Site Scripting (XSS) and SQL Injection. Writing string manipulation code for input validation and sanitization is an error-prone process leading to many vulnerabilities in real-world web applications. Automata-based static string analysis techniques can be used to automatically compute vulnerability signatures (represented as automata) that characterize all the inputs that can exploit a vulnerability. However, there are several factors that limit the applicability of static string analysis techniques in general: 1) undesirability of static string analysis requires the use of approximations leading to false positives, 2) static string analysis tools do not handle all string operations, 3) dynamic nature of the scripting languages makes static analysis difficult. In this paper, we show that vulnerability signatures computed for deliberately insecure web applications (developed for demonstrating different types of vulnerabilities) can be used to generate test cases for other applications. Given a vulnerability signature represented as an automaton, we present algorithms for test case generation based on state, transition, and path coverage. These automatically generated test cases can be used to test applications that are not analyzable statically, and to discover attack strings that demonstrate how the vulnerabilities can be exploited. Abdulbaki Aydin, Muath Alkhalaf, Tevfik Bultan |
ICST | 1 |
| 2014 | Semantic differential repair for input validation and sanitizationabstractCorrect validation and sanitization of user input is crucial in web applications for avoiding security vulnerabilities and erroneous application behavior. We present an automated differential repair technique for input validation and sanitization functions. Differential repair can be used within an application to repair client and server-side code with respect to each other, or across applications in order to strengthen the validation and sanitization checks. Given a reference and a target function, our differential repair technique strengthens the validation and sanitization operations in the target function based on the reference function. It does this by synthesizing three patches: a validation, a length, and a sanitization patch. Our automated patch synthesis algorithms are based on forward and backward symbolic string analyses that use automata as a symbolic representation. Composition of the three automatically synthesized patches with the original target function results in the repaired function, which provides stronger validation and sanitization than both the target and the reference functions. Muath Alkhalaf, Abdulbaki Aydin, Tevfik Bultan |
ISSTA | 2 |