EDBT 2026 Demo / reviewers in the wild / expert
Bassem Elkarablieh
dblp:45/5552
· DBLP profile ↗
8ranked-venue papers
6as first author
0since 2021 · last 2009
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 8 · 6 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
7 papers |
Debugging and program repair · 54% Software testing · 27% Program analysis · 15% | |
| Network and information security
1 paper |
Systems and software security · 100% | |
| Databases, data mining, and information retrieval
1 paper |
Query processing and optimization · 100% | |
| Theoretical computer science
1 paper |
Automated reasoning and model checking · 100% |
Topics — the 13 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair › program repair
data structure repair |
0.2 | 2 | 2009 | A Case for Automated Debugging Using Data Structure Repair · ASE 2009 Starc: static analysis for efficient repair of complex data · OOPSLA 2007 |
Software testing
test generation |
0.2 | 2 | 2008 | Query-Aware Test Generation Using a Relational Constraint Solver · ASE 2008 Efficient solving of structural constraints · ISSTA 2008 |
Debugging and program repair
automated program repair |
0.1 | 2 | 2007 | Starc: static analysis for efficient repair of complex data · OOPSLA 2007 Assertion-based repair of complex data structures · ASE 2007 |
Debugging and program repair › automated program repair
constraint-based repair |
0.1 | 2 | 2009 | Starc: static analysis for efficient repair of complex data · OOPSLA 2007 A Case for Automated Debugging Using Data Structure Repair · ASE 2009 |
Program analysis
static analysis |
0.1 | 2 | 2009 | Starc: static analysis for efficient repair of complex data · OOPSLA 2007 A Case for Automated Debugging Using Data Structure Repair · ASE 2009 |
Systems and software security
vulnerability discovery |
0.1 | 1 | 2009 | Precise pointer reasoning for dynamic test generation · ISSTA 2009 |
Debugging and program repair
automated debugging |
0.1 | 1 | 2009 | A Case for Automated Debugging Using Data Structure Repair · ASE 2009 |
Program analysis › symbolic execution
dynamic symbolic execution |
0.1 | 1 | 2009 | Precise pointer reasoning for dynamic test generation · ISSTA 2009 |
Software testing › test generation
dynamic test generation |
0.1 | 1 | 2009 | Precise pointer reasoning for dynamic test generation · ISSTA 2009 |
Debugging and program repair
fault localization |
0.1 | 1 | 2009 | A Case for Automated Debugging Using Data Structure Repair · ASE 2009 |
Software testing › test generation
constraint-based test generation |
0.1 | 1 | 2008 | Efficient solving of structural constraints · ISSTA 2008 |
Automated reasoning and model checking
constraint solving |
0.1 | 1 | 2008 | Efficient solving of structural constraints · ISSTA 2008 |
Program verification › dynamic verification › runtime verification
assertion checking |
0.0 | 1 | 2007 | Assertion-based repair of complex data structures · ASE 2007 |
Methods — techniques the papers use, named apart from their topics
constraint solving · 0.3symbolic execution · 0.2relational constraint solving · 0.2code instrumentation · 0.2checkpoint-based backtracking · 0.2alloy · 0.2static analysis · 0.1constraint-based data structure repair · 0.1runtime instrumentation · 0.1assertion violation analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2009 | Precise pointer reasoning for dynamic test generationabstractDynamic test generation consists of executing a program while gathering symbolic constraints on inputs from predicates encountered in branch statements, and of using a constraint solver to infer new program inputs from previous constraints in order to steer next executions towards new program paths. Variants of this technique have recently been adopted in several bug detection tools, including our whitebox fuzzer SAGE, which has found dozens of new expensive security-related bugs in many Windows applications and is now routinely used in various Microsoft groups. Bassem Elkarablieh, Patrice Godefroid, Michael Y. Levin |
ISSTA | 1 |
| 2009 | A Case for Automated Debugging Using Data Structure RepairabstractAutomated debugging is becoming increasingly important as the size and complexity of software increases. This paper makes a case for using constraint-based data structure repair, a recently developed technique for fault recovery, as a basis for automated debugging. Data structure repair uses given structural integrity constraints for key data structures to monitor their correctness during the execution of a program. If a constraint violation is detected, repair performs mutations on the data structures, i.e., corrupt program state, and transforms it into another state, which satisfies the desired constraints. The primary goal of data structure repair is to transform an erroneous state into an acceptable state. Therefore, the mutations performed by repair actions provide a basis of debugging faults in code (assuming the errors are due to bugs). A key challenge to embodying this insight into a mechanical technique arises due to the difference in the concrete level of the program states and the abstract level of the program code: repair actions apply to concrete data structures that exist at runtime, whereas debugging applies to code. We observe that static structures (program variables) hold handles to dynamic structures (heap-allocated data), which allows bridging the gap between the abstract and concrete levels. We envision a tool-chain where a data structure repair tool generates repair logs that are used by a fault localization tool and a repair abstraction tool that apply in synergy to not only identify the location of fault(s) in code but also to synthesize debugging suggestions. An embodiment of our vision can significantly reduce the cost of developing reliable software. Muhammad Zubair Malik, Khalid Ghori, Bassem Elkarablieh, Sarfraz Khurshid |
ASE | 3 |
| 2008 | Juzi: a tool for repairing complex data structuresabstractThis paper describes Juzi, a tool for automatic repair of complex data structures. Juzi takes a Java class representing the data structure as well as a predicate method that specifies the structural integrity constraints as inputs. Juzi instruments its inputs and generates a new Java class which behaves similarly to the original class, yet automatically repairs itself when the structural integrity constraints are violated. Bassem Elkarablieh, Sarfraz Khurshid |
ICSE | 1 |
| 2008 | Efficient solving of structural constraintsabstractStructural constraint solving is being increasingly used for software reliability tasks such as systematic testing or error recovery. For example, the Korat algorithm provides constraint-based test generation: given a Java predicate that describes desired input constraints and a bound on the input size, Korat systematically searches the bounded input space of the predicate to generate all inputs that satisfy the constraints. As another example, the STARC tool uses a constraint-based search to repair broken data structures. A key issue for these approaches is the efficiency of search. This paper presents a novel approach that significantly improves the efficiency of structural constraint solvers. Specifically, most existing approaches use backtracking through code re-execution to explore their search space. In contrast, our approach performs checkpoint-based backtracking by storing partial program states and performing abstract undo operations. The heart of our approach is a light-weight search that is performed purely through code instrumentation. The experimental results on Korat and STARC for generating and repairing a set of complex data structures show an order to two orders of magnitude speed-up over the traditionally used searches. Bassem Elkarablieh, Darko Marinov, Sarfraz Khurshid |
ISSTA | 1 |
| 2008 | Query-Aware Test Generation Using a Relational Constraint SolverabstractWe present a novel approach for black-box testing of database management systems (DBMS) using the Alloy tool-set. Given a database schema and an SQL query as inputs, our approach first formulates Alloy models for both inputs, and then using the Alloy Analyzer, it generates (1) input data to populate test databases, and (2) the expected result of executing the given query on the generated data. The Alloy Analyzer results form a complete test suite (input/oracle) for verifying the execution result of a DBMS query processor. By incorporating both the schema and the query during the analysis, our approach performs query-aware data generation where executing the query on the generated data produces meaningful non-empty results. We developed a prototype tool, ADUSA, and used it to evaluate our approach. Experimental results show the ability of our approach to detect bugs in both open-source as well as commercial database management systems. Shadi Abdul Khalek, Bassem Elkarablieh, Yai O. Laleye, Sarfraz Khurshid |
ASE | 2 |
| 2007 | Efficiently Generating Structurally Complex Inputs with Thousands of Objects
Bassem Elkarablieh, Yehia Zayour, Sarfraz Khurshid |
ECOOP | 1 |
| 2007 | Assertion-based repair of complex data structuresabstractProgrammers have long used assertions to characterize properties of code. An assertion violation signals a corruption in the programstate. At such a state, it is standard to terminate the program, debug it if possible, and re-execute it. We propose a new view: instead of terminating the program, use the violated assertion as a basis of repairing the state of the program and let it continue. Bassem Elkarablieh, Yuk Lai Suen, Sarfraz Khurshid |
ASE | 1 |
| 2007 | Starc: static analysis for efficient repair of complex dataabstractData structure corruptions are insidious bugs that reduce the reliability of software systems. Constraint-based datastructure repair promises to help programs recover from potentially crippling corruption errors. Prior work repairs a variety of relatively small data structures, usually with hundreds of nodes. Bassem Elkarablieh, Sarfraz Khurshid, Duy Vu, Kathryn S. McKinley |
OOPSLA | 1 |