Demo Data from EDBT 2026 / reviewers in the wild / expert
Shadi Abdul Khalek
dblp:91/1499
· DBLP profile ↗
7ranked-venue papers
6as 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 · 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
5 papers |
Software testing · 92% Programming languages and type systems · 8% | |
| Databases, data mining, and information retrieval
2 papers |
Database system architecture and tuning · 57% Query processing and optimization · 43% |
Topics — the 9 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing
test input generation |
0.4 | 3 | 2014 | Bounded exhaustive test input generation from hybrid invariants · OOPSLA 2014 TestEra: A tool for testing Java programs using alloy specifications · ASE 2011 Mixed constraints for test input generation - An initial exploration · ASE 2011 |
Software testing
test generation |
0.2 | 2 | 2010 | Automated SQL query generation for systematic testing of database engines · ASE 2010 Query-Aware Test Generation Using a Relational Constraint Solver · ASE 2008 |
Software testing › combinatorial testing
bounded exhaustive testing |
0.2 | 1 | 2014 | Bounded exhaustive test input generation from hybrid invariants · OOPSLA 2014 |
Software testing › test generation › specification-based test generation
invariant-based test generation |
0.2 | 1 | 2014 | Bounded exhaustive test input generation from hybrid invariants · OOPSLA 2014 |
Software testing › test generation
constraint-based test generation |
0.2 | 2 | 2014 | Mixed constraints for test input generation - An initial exploration · ASE 2011 Bounded exhaustive test input generation from hybrid invariants · OOPSLA 2014 |
Software testing
specification-based testing |
0.1 | 1 | 2011 | TestEra: A tool for testing Java programs using alloy specifications · ASE 2011 |
Programming languages and type systems
specification language |
0.1 | 1 | 2011 | Mixed constraints for test input generation - An initial exploration · ASE 2011 |
Software testing
test oracle |
0.1 | 1 | 2011 | TestEra: A tool for testing Java programs using alloy specifications · ASE 2011 |
Database system architecture and tuning
database engine testing |
0.1 | 1 | 2010 | Automated SQL query generation for systematic testing of database engines · ASE 2010 |
Methods — techniques the papers use, named apart from their topics
alloy · 0.5SAT solving · 0.3transcoping · 0.2declarative and imperative predicate processing · 0.2relational constraint solving · 0.2constraint solving · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2014 | Bounded exhaustive test input generation from hybrid invariantsabstractWe present a novel technique for producing bounded exhaustive test suites from hybrid invariants, i.e., invariants that are expressed imperatively, declaratively, or as a combination of declarative and imperative predicates. Hybrid specifications are processed using known mechanisms for the imperative and declarative parts, but combined in a way that enables us to exploit information from the declarative side, such as tight bounds computed from the declarative specification, to improve the search both on the imperative and declarative sides. Moreover, our technique automatically evaluates different possible ways of processing the imperative side, and the alternative settings (imperative or declarative) for parts of the invariant available both declaratively and imperatively, to decide the most convenient invariant configuration with respect to efficiency in test generation. This is achieved by transcoping, i.e., by assessing the efficiency of the different alternatives on small scopes (where generation times are negligible), and then extrapolating the results to larger scopes. Nicolás Rosner, Valeria S. Bengolea, Pablo Ponzio, Shadi Abdul Khalek, Nazareno Aguirre, Marcelo F. Frias, Sarfraz Khurshid |
OOPSLA | 4 |
| 2011 | Systematic Testing of Database Engines Using a Relational Constraint SolverabstractWe describe an automated approach for systematic black-box testing of database management systems (DBMS) using a relational constraint solver. We reduce the problem of automated database testing into generating three artifacts: (1) SQL queries for testing, (2) meaningful input data to populate test databases, and (3) expected results of executing the queries on the generated data. We leverage our previous work on ADUSA and the Automated SQL Query Generator to form high-quality test suites for testing DBMS engines. This paper presents a detailed description of our framework for Automated SQL Query Generation using the Alloy tool-set, and experimental results of testing database engines using our framework. We show how the main SQL grammar constraints can be solved by translating them to Alloy constraints to generate semantically and syntactically correct SQL queries. We also present experimental results of combining ADUSA and the Automated SQL Query Generator, and applying our framework to test the Oracle 11g database. Our framework generated 5 new queries, which reveal erroneous behavior of Oracle 11g. Shadi Abdul Khalek, Sarfraz Khurshid |
ICST | 1 |
| 2011 | Efficiently Running Test Suites Using Abstract Undo OperationsabstractThe last decade has seen many advances in test input generation, specifically using systematic approaches that can enumerate many tests. While such approaches have enhanced our ability to find bugs in programs, running large numbers of tests remains a time consuming and expensive task, especially for tests that execute operations on external resources, such as a file system or a network. This paper presents a novel technique for optimizing execution of suites of tests, where several tests in a suite may contain common initial execution -- a property often exhibited by systematically generated suites, e.g., those for bounded exhaustive testing. Our insight is that we can cluster execution of such tests by defining abstract-level undo operations, which allow a common execution segment to be performed once, and its result to be shared across the tests, which then perform the rest of their operations. We present our framework for clustered execution of test suites, and evaluate it using three case-studies, which show our technique enables significant performance speed-up over traditional test execution. Shadi Abdul Khalek, Sarfraz Khurshid |
ISSRE | 1 |
| 2011 | Mixed constraints for test input generation - An initial explorationabstractThe use of specifications provides an effective technique to automate testing. A form of specification that automates generation of test inputs is logical constraints that define properties of desired inputs. Recent advances in constraint solving technology have made the use of constraints particularly attractive. However, manually writing constraints to define complex inputs to real-world programs can pose a significant burden on the user and restrict their wider use. We envision a novel approach to facilitate the use of constraints: to provide a mixed notation for writing the properties. Our key insight is that different properties can lend to easier formulation using different programming paradigms. Thus, a notation that supports more than one paradigm, e.g., declarative and imperative paradigms, can enable achieving a sweet-spot in minimizing the manual effort required in constraint formulation. Moreover, solving such constraints is also likely to be more efficient as different properties may require different paradigms for more direct and accurate representation. This paper presents our vision and gives an illustration to make a case for the usefulness of such a notation. Shadi Abdul Khalek, Vidya Priyadarshini Narayanan, Sarfraz Khurshid |
ASE | 1 |
| 2011 | TestEra: A tool for testing Java programs using alloy specificationsabstractThis tool paper presents an embodiment of TestEra - a framework developed in previous work for specification-based testing of Java programs. To test a Java method, TestEra uses the method's pre-condition specification to generate test inputs and the post-condition to check correctness of outputs. TestEra supports specifications written in Alloy - a first-order, declarative language based on relations - and uses the SAT-based back-end of the Alloy tool-set for systematic generation of test suites. Each test case is a JUnit test method, which performs three key steps: (1) initialization of pre-state, i.e., creation of inputs to the method under test; (2) invocation of the method; and (3) checking the correctness of post-state, i.e., checking the method output. The tool supports visualization of inputs and outputs as object graphs for graphical illustration of method behavior. TestEra is available for download to be used as a library or as an Eclipse plug-in. Shadi Abdul Khalek, Guowei Yang 0001, Lingming Zhang 0001, Darko Marinov, Sarfraz Khurshid |
ASE | 1 |
| 2010 | Automated SQL query generation for systematic testing of database enginesabstractWe present a novel approach for generating syntactically and semantically correct SQL queries as inputs for testing relational databases. We leverage the SAT-based Alloy tool-set to reduce the problem of generating valid SQL queries into a SAT problem. Our approach translates SQL query constraints into Alloy models, which enable it to generate valid queries that cannot be automatically generated using conventional grammar-based generators. Shadi Abdul Khalek, Sarfraz Khurshid |
ASE | 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 | 1 |