VLDB 2026 Research / reviewers in the wild / expert
Muath Alkhalaf
dblp:53/5594
· DBLP profile ↗
8ranked-venue papers
3as first author
0since 2021 · last 2014
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 3 first-authorTheory of computation · 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
5 papers |
Program analysis · 84% Debugging and program repair · 16% | |
| Network and information security
5 papers |
Systems and software security · 68% Web and mobile security · 32% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
0.7 | 5 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 ViewPoints: differential string analysis for discovering client- and server-side input validation inconsistencies · ISSTA 2012 Verifying client-side input validation functions using string analysis · ICSE 2012 |
Systems and software security › secure software development
input validation |
0.3 | 2 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 ViewPoints: differential string analysis for discovering client- and server-side input validation inconsistencies · ISSTA 2012 |
Web and mobile security
web security |
0.3 | 2 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 ViewPoints: differential string analysis for discovering client- and server-side input validation inconsistencies · ISSTA 2012 |
Program analysis › data flow analysis › value analysis
string analysis |
0.3 | 2 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 Generating Vulnerability Signatures for String Manipulating Programs Using Automata-Based Forward and Backward Symbolic Analyses · ASE 2009 |
Debugging and program repair
automated program repair |
0.2 | 1 | 2014 | Semantic differential repair for input validation and sanitization · ISSTA 2014 |
Systems and software security
vulnerability patching |
0.1 | 1 | 2011 | Patching vulnerabilities with sanitization synthesis · ICSE 2011 |
Systems and software security
vulnerability discovery |
0.1 | 1 | 2009 | Generating Vulnerability Signatures for String Manipulating Programs Using Automata-Based Forward and Backward Symbolic Analyses · ASE 2009 |
Systems and software security › vulnerability analysis
vulnerability signature generation |
0.1 | 1 | 2009 | Generating Vulnerability Signatures for String Manipulating Programs Using Automata-Based Forward and Backward Symbolic Analyses · ASE 2009 |
Program analysis › dynamic analysis
dynamic slicing |
0.0 | 1 | 2012 | Verifying client-side input validation functions using string analysis · ICSE 2012 |
Web and mobile security
web application vulnerability |
0.0 | 1 | 2011 | Patching vulnerabilities with sanitization synthesis · ICSE 2011 |
Methods — techniques the papers use, named apart from their topics
symbolic string analysis · 0.4patch synthesis · 0.4automata · 0.4regular expression policy specification · 0.3dynamic slicing · 0.3deterministic finite automata · 0.3automata-based string analysis · 0.3vulnerability signature computation · 0.2automata-based static string analysis · 0.2automata-based forward and backward symbolic analysis · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 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 | 2 |
| 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 | 1 |
| 2014 | Automata-based symbolic string analysis for vulnerability detection
Fang Yu 0001, Muath Alkhalaf, Tevfik Bultan, Oscar H. Ibarra |
Formal Methods Syst. Des. | 2 |
| 2012 | Verifying client-side input validation functions using string analysisabstractClient-side computation in web applications is becoming increasingly common due to the popularity of powerful client-side programming languages such as JavaScript. Clientside computation is commonly used to improve an application's responsiveness by validating user inputs before they are sent to the server. In this paper, we present an analysis technique for checking if a client-side input validation function conforms to a given policy. In our approach, input validation policies are expressed using two regular expressions, one specifying the maximum policy (the upper bound for the set of inputs that should be allowed) and the other specifying the minimum policy (the lower bound for the set of inputs that should be allowed). Using our analysis we can identify two types of errors 1) the input validation function accepts an input that is not permitted by the maximum policy, or 2) the input validation function rejects an input that is permitted by the minimum policy. We implemented our analysis using dynamic slicing to automatically extract the input validation functions from web applications and using automata-based string analysis to analyze the extracted functions. Our experiments demonstrate that our approach is effective in finding errors in input validation functions that we collected from real-world applications and from tutorials and books for teaching JavaScript. Muath Alkhalaf, Tevfik Bultan, Jose L. Gallegos |
ICSE | 1 |
| 2012 | ViewPoints: differential string analysis for discovering client- and server-side input validation inconsistenciesabstractSince web applications are easily accessible, and often store a large amount of sensitive user information, they are a common target for attackers. In particular, attacks that focus on input validation vulnerabilities are extremely effective and dangerous. To address this problem, we developed ViewPoints--a technique that can identify erroneous or insufficient validation and sanitization of the user inputs by automatically discovering inconsistencies between client- and server-side input validation functions. Developers typically perform redundant input validation in both the front-end (client) and the back-end (server) components of a web application. Client- side validation is used to improve the responsiveness of the application, as it allows for responding without communicating with the server, whereas server-side validation is necessary for security reasons, as malicious users can easily circumvent client-side checks. ViewPoints (1) automatically extracts client- and server-side input validation functions, (2) models them as deterministic finite automata (DFAs), and (3) compares client- and server-side DFAs to identify and report the inconsistencies between the two sets of checks. Our initial evaluation of the technique is promising: when applied to a set of real-world web applications, ViewPoints was able to automatically identify a large number of inconsistencies in their input validation functions. Muath Alkhalaf, Shauvik Roy Choudhary, Mattia Fazzini, Tevfik Bultan, Alessandro Orso, Christopher Krügel |
ISSTA | 1 |
| 2011 | Patching vulnerabilities with sanitization synthesisabstractWe present automata-based static string analysis techniques that automatically generate sanitization statements for patching vulnerable web applications. Our approach consists of three phases: Given an attack pattern we first conduct a vulnerability analysis to identify if strings that match the attack pattern can reach the security-sensitive functions. Next, we compute vulnerability signatures that characterize all input strings that can exploit the discovered vulnerability. Given the vulnerability signatures, we then construct sanitization statements that 1) check if a given input matches the vulnerability signature and 2) modify the input in a minimal way so that the modified input does not match the vulnerability signature. Our approach is capable of generating relational vulnerability signatures (and corresponding sanitization statements) for vulnerabilities that are due to more than one input. Fang Yu 0001, Muath Alkhalaf, Tevfik Bultan |
ICSE | 2 |
| 2010 | Stranger: An Automata-Based String Analysis Tool for PHP
Fang Yu 0001, Muath Alkhalaf, Tevfik Bultan |
TACAS | 2 |
| 2009 | Generating Vulnerability Signatures for String Manipulating Programs Using Automata-Based Forward and Backward Symbolic AnalysesabstractGiven a program and an attack pattern (specified as a regular expression), we automatically generate string-based vulnerability signatures, i.e., a characterization that includes all malicious inputs that can be used to generate attacks. We use an automata-based string analysis framework. Using forward reachability analysis we compute an over-approximation of all possible values that string variables can take at each program point. Intersecting these with the attack pattern yields the potential attack strings if the program is vulnerable. Using backward analysis we compute an over-approximation of all possible inputs that can generate those attack strings. In addition to identifying existing vulnerabilities and their causes, these vulnerability signatures can be used to filter out malicious inputs. Our approach extends the prior work on automata-based string analysis by providing a backward symbolic analysis that includes a symbolic pre-image computation for deterministic finite automata on common string manipulating functions such as concatenation and replacement. Fang Yu 0001, Muath Alkhalaf, Tevfik Bultan |
ASE | 2 |