Skip to content

Commit 582b98a

Browse files
authored
Update readme.md
1 parent a8d8536 commit 582b98a

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

readme.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,34 @@ It simplifies the process with dialog boxes for user input and displays progress
110110

111111
Our approach and the detailed workings of SaGe are described in a publication accepted by OOPSLA 2023. For enthusiasts and researchers, a Docker environment is available for replicating our experiments, ensuring a seamless experience in understanding the tool's capabilities.
112112

113+
### Fuzzing other browsers
114+
115+
This tool can adapt to any other browsers that are based on the three browsers. Generally speaking, almost all browsers are built on the top of the above three browsers. If users want to test a browser other than the three, they need to implement a subclass of ``FuzzedBrowser`` in the ``browser_adapters`` directory, and register itself in the ``get_browser()`` function of ``browser_selenium.py``.
116+
117+
## Implementation/Configuration Details
118+
- If you don’t want to use Xvfb, set ``export NO_XVFB=true`` before running ``main.py``.
119+
- During fuzzing, suppose we set p=2, this means that we create two (almost) separated browser instances, and each of them creates a new tab for handling one fuzzing input. If a browser crashes, the fuzzer will close it and create a new browser instance for testing.
120+
- Browsers may crash because of long-term running. For stability, the fuzzer will close an instance with 1% probability. Users can use ``CLOSE_BROWSER_PROB`` to change this setting. For example, ``export CLOSE_BROWSER_PROB=0.05`` will set the probability to 5%.
121+
122+
## Publication
123+
124+
The paper which describes the design detail of this browser fuzzer is accepted by OOPSLA 2023 ([doi](https://doi.org/10.1145/3622819)). BibTeX Citation is
125+
126+
```bibtex
127+
@article{zhou2023towards,
128+
title={Towards Better Semantics Exploration for Browser Fuzzing},
129+
author={Zhou, Chijin and Zhang, Quan and Guo, Lihua and Wang, Mingzhe and Jiang, Yu and Liao, Qing and Wu, Zhiyong and Li, Shanshan and Gu, Bin},
130+
journal={Proceedings of the ACM on Programming Languages},
131+
volume={7},
132+
number={OOPSLA2},
133+
pages={604--631},
134+
year={2023},
135+
publisher={ACM New York, NY, USA}
136+
}
137+
```
138+
139+
The artifact of this paper is available at [zenodo](https://doi.org/10.5281/zenodo.8328742), which includes a docker environment for reproducing the experitmental results in the paper. The artifact passed the OOPSLA'23 Artifact Evaluation and earned all badges.
140+
113141
## Acknowledgements 👏
114142

115143
We extend our heartfelt gratitude to the Domato project, and Google for their foundational input generation techniques, which have significantly contributed to enhancing SaGe's fuzzing methodologies.

0 commit comments

Comments
 (0)