Skip to content

Web Fuzzing Dataset (WFD): a set of web/enterprise applications for experimentation in automated system testing

License

WebFuzzing/Dataset

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EMB

EvoMaster Benchmark (EMB): a set of web/enterprise applications for experimentation in automated system testing.

WARNING: This repository is going through a major refactoring. Most of the documentation is still under construction.

We collected several different systems, in different programming languages, like Java, Kotlin, JavaScript and C#. We also added the drivers for EvoMaster to use those systems.

Note that some of these open-source projects might be no longer supported, whereas others are still developed and updated. Once a system is added to EMB, we do not modify nor keep it updated with its current version under development. The reason is that we want to keep an easy to use, constant set of case studies for experimentation that can be reliably used throughout the years.

License

All the code that is new for this repository is released under Apache 2.0 license. However, this repository contains as well sources from different open-source projects, each one with its own license, as clarified in more details beneath.

Current Case Studies

REST: Java/Kotlin

REST: JavaScript/TypeScript

REST: .Net/C#

Build The Systems

Build JDK_8_MAVEN

The folder cs (case study) contains the source code of the different system under tests (SUT) in this benchmark, for JDK 8 and Maven.

The folder em (EvoMaster) contains the classes needed to be written to enable the use of EvoMaster on the SUTs. In particular, there are EmbeddedEvoMasterController and ExternalEvoMasterController class implementations for each SUT. Note: usually you would write a EvoMaster controller class in the same module of the SUTs. Here, they are in different modules just to make clear what is needed to implement to enable the use of EvoMaster.

To compile and generate all the jar files, use the command:

mvn clean package -DskipTests

Currently, all the case studies do require JDK 8. They will not compile with a different version.

Note: the case studies do import EvoMaster as a library. Current SNAPSHOT versions of the case studies do use the most recent SNAPSHOT version of EvoMaster (the two versioning numbers are aligned). We do NOT publish the SNAPSHOT dependencies online. This means that, if you try to build the project directly, it will fail due to missing SNAPSHOT dependencies.

To use such SNAPSHOT versions, you need first a mvn install of EvoMaster on your machine (so that the SNAPSHOT jars are created, and put under your ~/.m2 folder). However, in the Git repository of EMB, we did tag the versions of EMB that are using the published versions of EvoMaster. See the releases page. For example, to use version X of EvoMaster, you can check out the Git commit of EMB tagged with version X. To see the current available tags, from a command-line you can execute:

git tag

Then, to switch to a specific tag X (e.g., v1.0.0), you can run:

git checkout tags/v1.0.0

Finally, if for any reason you need to switch back to the latest snapshot version, you can run:

git checkout master

There is an issue if you try to checkout an old version. Not only Java broke backward compatibility with JDK 9, but also Maven... If you try to build with Maven and get an error regarding maven-processor-plugin, you might have to add manually the following plugin dependency version:

<plugin>
    <groupId>org.bsc.maven</groupId>
    <artifactId>maven-processor-plugin</artifactId>
    <version>3.3.3</version>
</plugin>

Besides JDK 8, to build from Maven you will also need NPM and NodeJS installed on your machine (as some of the projects have GUIs built with JS).

Build DOTNET_3

Documentation under construction

Build JS_NPM

Documentation under construction

About

Web Fuzzing Dataset (WFD): a set of web/enterprise applications for experimentation in automated system testing

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published