GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — doc: add QPG by bajinsheng · Pull Request #663 · sqlancer/sqlancer

Conversation

@bajinsheng

@bajinsheng bajinsheng commented Dec 19, 2022

Copy link
Copy Markdown
Collaborator

No description provided.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@bajinsheng
bajinsheng requested a review from mrigger December 19, 2022 08:35
@bajinsheng bajinsheng mentioned this pull request Dec 19, 2022
Support QPG #641
Closed
mrigger
mrigger reviewed Dec 19, 2022
View reviewed changes
Comment thread 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. |

@mrigger mrigger Dec 19, 2022

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread 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. |

@mrigger mrigger Dec 19, 2022

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

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.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
bajinsheng
doc: add QPG
50f2fdf
@bajinsheng
bajinsheng enabled auto-merge (squash) December 19, 2022 08:46
@bajinsheng
bajinsheng requested a review from mrigger December 19, 2022 08:46
mrigger
mrigger approved these changes Dec 19, 2022
View reviewed changes
@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

Reviewers

@mrigger mrigger mrigger approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@bajinsheng @mrigger
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.