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

Fragmentation-based Crawling #541

Closed
amesbah opened this issue Jan 27, 2023 · 0 comments
Closed

Fragmentation-based Crawling #541

amesbah opened this issue Jan 27, 2023 · 0 comments
Assignees
Labels
Milestone

Comments

@amesbah
Copy link
Member

amesbah commented Jan 27, 2023

Integrate fragment-based crawling and test generation from the following paper: Fragment-Based Test Generation For Web Apps (FragGen)

How it works

In order to determine similarity between two web pages, FragGen segments the page into smaller fragments and compares the similarity between fragments. Fragment similarity is established through visual and DOM structure comparison.

FragGen also uses fragments to identify similar actions and prioritizes exploration of diverse actions. Fragment-based comparison also is used in the generation of test oracles to improve fragility of test cases in regression testing scenarios.

More details regarding the technique can be found in the paper

Limitations

  • Does not support crawling iframes/frames
  • Memory/CPU usage is not optimized and can make the crawler inefficient for web applications with large DOMs.
  • Has not been tested extensively for browsers other than Google Chrome

Usage

In order to activate FragGen, use FragGenStateVertexFactory as the state abstraction. An example usage can be found in FragCrawlExample

@amesbah amesbah assigned amesbah and yrahulkr and unassigned amesbah Jan 27, 2023
@amesbah amesbah added this to the 5.0 milestone Jan 27, 2023
@amesbah amesbah closed this as completed Feb 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants