Skip to content

Commit 20411c0

Browse files
committed
updated documentation
1 parent f866d3d commit 20411c0

File tree

1 file changed

+13
-23
lines changed

1 file changed

+13
-23
lines changed

README.md

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ __White-box Testing__. For each SUT, we implemented _driver_ classes for _EvoMas
2525
As well as enable setting up different properties in a _uniform_ way, like choosing TCP port numbers for the HTTP servers.
2626
If a SUT uses any external services (e.g., a SQL database), these will be automatically started via Docker in these driver classes.
2727

28-
**NOTE**: version 1.6.1 was last one in which we still updated drivers for JavaScript and C\#. Those SUTs are not built anymore by default, and latest versions of *EvoMaster* might not work on those old drivers. Updating drivers for different programming languages (and re-implement white-box heuristics) is a massive amount of work, which unfortunately has little to no value for the scientific community (based on our experience). Those SUTs are still here in WFD to be able to replicate old experiments, but unfortunately not for *white-box* testing with latest versions of *EvoMaster*.
28+
**NOTE**: version 1.6.1 was last one in which we still updated drivers for JavaScript and C\#. Those SUTs are not built anymore by default, and latest versions of *EvoMaster* will not work on those old drivers. Updating drivers for different programming languages (and re-implement white-box heuristics) is a massive amount of work, which unfortunately has little to no value for the scientific community (based on our experience). Those SUTs are still here in WFD to be able to replicate old experiments, but unfortunately not for *white-box* testing with latest versions of *EvoMaster*.
2929

3030

3131

@@ -242,7 +242,7 @@ Auth configuration files can found in the [auth](auth) folder.
242242

243243
## Using This Repository
244244

245-
Due to several reasons, the software in this repository is not published as a library (e.g., on Maven and NPM).
245+
Due to several reasons, the software in this repository is not published as a library (e.g., on Maven).
246246
To use WFD, you need to clone this repository:
247247

248248
```
@@ -251,16 +251,22 @@ git clone https://github.com/WebFuzzing/Dataset.git
251251

252252
There are at least 2 main use cases for WFD:
253253

254-
* Run experiments black-box fuzzers
254+
* Run experiments __black-box__ fuzzers
255255

256-
* Run experiments with white-box _EvoMaster_
256+
* Run experiments with __white-box__ _EvoMaster_
257257

258258

259-
Everything can be setup by running the script `scripts/dist.py`.
259+
_Black-box_ testing: you can build all the SUTs via Docker using `scripts/dist-docker.py`. Once the script is completed, all the SUTs will be available under the `dist` folder. Each SUT can be started with the Docker Compose files under `dockerfiles`. For example:
260+
261+
```
262+
docker-compose -f dockerfiles/reservations-api.yaml up
263+
```
264+
265+
_White-box_ testing: everything can be setup by running the script `scripts/dist.py`.
260266
Note that you will need installed at least Maven, Gradle, JDK 8, JDK 11, JDK 17, JDK 21, NPM, as well as Docker.
261267
Also, you will need to setup environment variables like `JAVA_HOME_8`, `JAVA_HOME_11`, `JAVA_HOME_17` and `JAVA_HOME_21`.
262268
The script will issue error messages if any prerequisite is missing.
263-
Once the script is completed, all the SUTs will be available under the `dist` folder, and a `dist.zip` will be created as well (if `scripts/dist.py` is run with `True` as input).
269+
Once the script is completed, not only all the SUTs will be available under the `dist` folder, but also all the _driver_ executables for _EvoMaster_.
264270

265271
Regarding Maven, most-third party dependencies are automatically downloaded from Maven Central.
266272
However, some dependencies are from GitHub, which unfortunately require authentication to be able to download such dependencies.
@@ -296,22 +302,6 @@ In latest versions of Maven, you need to create an authorization token in GitHub
296302

297303

298304

299-
[//]: # (There is also a Docker file to run `dist.py`, named `build.dockerfile`.)
300-
301-
[//]: # (It can be built with:)
302-
303-
[//]: # ()
304-
[//]: # (```)
305-
306-
[//]: # (docker build -f build.dockerfile -t emb .)
307-
308-
[//]: # (```)
309-
310-
[//]: # ()
311-
[//]: # (The `dist` folder with all SUTs will be under `/emb/dist`. )
312-
313-
314-
315305
In the built `dist` folder, the files will be organized as follows:
316306
`<name>-sut.jar` will be the non-instrumented SUTs, whereas their executable drivers for white-box testing will be called `<name>-evomaster-runner.jar`.
317307
Instrumentation can be done at runtime by attaching the `evomaster-agent.jar` JavaAgent. If you are running experiments with EvoMaster, this will be automatically attached when running experiments with experiment scripts (discussed in next section). Or it can be attached manually with JVM option `-Devomaster.instrumentation.jar.path=evomaster-agent.jar` when starting the driver.
@@ -327,7 +317,7 @@ Each folder represents a set of SUTs (and drivers) that can be built using the s
327317
For example, the folder `jdk_8_maven` contains all the SUTs that need JDK 8 and are built with Maven.
328318
On the other hand, the SUTs in the folder `jdk_11_gradle` require JDK 11 and Gradle.
329319

330-
For thr JVM, each module has 2 submodules, called `cs` (short for "Case Study") and `em` (short for "EvoMaster").
320+
Each module has 2 submodules, called `cs` (short for "Case Study") and `em` (short for "EvoMaster").
331321
`cs` contains all the source code of the different SUTs, whereas `em` contains all the drivers.
332322
Note: building a top-module will build as well all of its internal submodules.
333323

0 commit comments

Comments
 (0)