Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: add QPG #663

Merged
merged 1 commit into from
Dec 19, 2022
Merged

doc: add QPG #663

merged 1 commit into from
Dec 19, 2022

Conversation

bajinsheng
Copy link
Collaborator

No description provided.

@bajinsheng bajinsheng mentioned this pull request Dec 19, 2022
README.md Outdated
# Generation Approaches
| Approach | Description |
|----------|-------------|
| Random Generation | Rnadom generation is the raw and default test case generation approach in SQLancer. First, random tables are generated. Then queries are randomly generated based on the schemas of the tables. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Random generation is the default test case generation approach in SQLancer.

README.md Outdated
| Approach | Description |
|----------|-------------|
| Random Generation | Rnadom generation is the raw and default test case generation approach in SQLancer. First, random tables are generated. Then queries are randomly generated based on the schemas of the tables. |
| Query Plan Guidance (QPG) | QPG is a test case generation method guided by query plan coverage. Given a database state, we mutate it when no new unique query plan has been covered by the random generated queries on the database state aiming to cover more unqiue query plans for exposing more logics of DBMSs. This approach is enabled by option `--qpg-enable` and now supports TLP and NoREC oracles for SQLite, CockroachDB, and TiDB. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given a database state, we mutate it after no new unique query plans have been observed by randomly-generated queries on the database state aiming to cover more unique query plans for exposing more logics of DBMSs. This approach is enabled by option --qpg-enable and now supports TLP and NoREC oracles for SQLite, CockroachDB, and TiDB.

@bajinsheng bajinsheng enabled auto-merge (squash) December 19, 2022 08:46
@bajinsheng bajinsheng merged commit 327ac29 into sqlancer:master Dec 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants