Skip to content

Commit a1e7f2f

Browse files
committed
Merge branch 'develop' into fix-dotnet-containers-menu
2 parents e7f84ba + 807e590 commit a1e7f2f

File tree

1,201 files changed

+159927
-1301
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,201 files changed

+159927
-1301
lines changed

.gitignore

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ hs_err_pid*
129129
/jdk_8_maven/em/external/rest/restcountries/src/evo/
130130
/jdk_8_maven/em/embedded/rest/languagetool/target/
131131
/jdk_8_maven/em/external/rest/languagetool/target/
132-
/jdk_8_maven/cs/graphql/spring-petclinic-graphql/target
133-
/jdk_8_maven/em/embedded/graphql/spring-petclinic-graphql/target/
134-
/jdk_8_maven/em/external/graphql/spring-petclinic-graphql/target/
135-
/jdk_8_maven/em/embedded/graphql/spring-petclinic-graphql/src/main/em/
136-
/jdk_8_maven/em/external/graphql/spring-petclinic-graphql/src/main/em/
132+
/jdk_8_maven/cs/graphql/petclinic-graphql/target
133+
/jdk_8_maven/em/embedded/graphql/petclinic-graphql/target/
134+
/jdk_8_maven/em/external/graphql/petclinic-graphql/target/
135+
/jdk_8_maven/em/embedded/graphql/petclinic-graphql/src/main/em/
136+
/jdk_8_maven/em/external/graphql/petclinic-graphql/src/main/em/
137137
/jdk_8_maven/cs/graphql/graphql-ncs/target
138138
/jdk_8_maven/cs/graphql/graphql-scs/target
139139
/jdk_8_maven/em/embedded/graphql/graphql-ncs/target
@@ -230,3 +230,24 @@ dotnet_3/em/embedded/rest/ScsDriver/generated-tests/
230230

231231

232232

233+
/jdk_11_maven/tmpFolder/
234+
/jdk_11_maven/em/embedded/graphql/timbuctoo/tmpFolder/
235+
/jdk_11_maven/em/external/graphql/timbuctoo/target/
236+
/jdk_11_maven/em/embedded/graphql/timbuctoo/target/
237+
/jdk_11_maven/cs/rest-gui/market/market-core/target/
238+
/jdk_11_maven/cs/rest-gui/market/market-coverage/target/
239+
/jdk_11_maven/cs/rest-gui/market/market-rest/target/
240+
/jdk_11_maven/cs/rest-gui/market/market-web/target/
241+
/jdk_11_maven/em/embedded/rest/market/target/
242+
/jdk_11_maven/em/external/rest/cwa-verification/temp/
243+
/jdk_11_maven/em/external/rest/market/target/
244+
/jdk_8_maven/em/embedded/rest/genome-nexus/src/test/java/
245+
/jdk_8_maven/em/embedded/rest/genome-nexus/target/
246+
/jdk_8_maven/em/external/rest/genome-nexus/target/
247+
/jdk_8_maven/em/external/rest/genome-nexus/src/test/
248+
/jdk_8_maven/em/embedded/thrift/ncs/target/
249+
/jdk_8_maven/em/embedded/thrift/scs/target/
250+
/jdk_8_maven/em/external/thrift/ncs/target/
251+
/jdk_8_maven/em/external/thrift/scs/target/
252+
/jdk_17_maven/cs/web/spring-petclinic/target/
253+
/jdk_17_maven/em/embedded/web/spring-petclinic/target/

README.md

Lines changed: 65 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,15 @@ However, finding this type of applications is not trivial among open-source proj
2222
Furthermore, it is not simple to sort out all the technical details on how to set these applications up and start them in a simple, uniform approach.
2323
Therefore, this repository provides the important contribution of providing all these necessary scripts for researchers that need this kind of case study.
2424

25+
**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 EMB to enable *black-box* experiments (and to be able to replicate old experiments), but unfortunately not for *white-box* testing with latest versions of *EvoMaster*.
26+
27+
28+
29+
A video providing some high level overview of EMB can be found [here](https://youtu.be/wJs34ATgLEw).
30+
31+
[![EMB YouTube Video](https://img.youtube.com/vi/wJs34ATgLEw/0.jpg)](https://www.youtube.com/watch?v=wJs34ATgLEw)
32+
33+
2534

2635
## License
2736
All the code that is new for this repository (e.g., the driver classes) is released under Apache 2.0 license.
@@ -31,6 +40,15 @@ projects, each one with its own license, as clarified in more details beneath.
3140
## Example
3241

3342
To see an example of using these drivers with EvoMaster to generate test cases, you can look at this [short video](https://youtu.be/3mYxjgnhLEo) (5 minutes).
43+
44+
## Citation
45+
46+
If you are using EMB in an academic work, you can cite the following:
47+
48+
> A. Arcuri, M. Zhang, A. Golmohammadi, A. Belhadi, J. P. Galeotti, B. Marculescu, S. Seran.
49+
**EMB: A Curated Corpus of Web/Enterprise Applications And Library Support for Software Testing Research**.
50+
In *IEEE International Conference on Software Testing, Validation and Verification (ICST)*, 2023.
51+
3452

3553
## Current Case Studies
3654

@@ -47,86 +65,100 @@ The SUTs called _NCS_ (Numerical Case Study) and _SCS_ (String Case study) are a
4765
They are based on numerical and string-based functions previously used in the literature of unit test generation.
4866
We just re-implemented in different languages, and put them behind a web service.
4967

50-
68+
For the RESTful APIs, each API has an endpoint where the OpenAPI/Swagger schemas can be downloaded from.
69+
For simplicity, all schemas are also available as JSON/YML files under the folder [openapi-swagger](./openapi-swagger).
5170

5271
### REST: Java/Kotlin
5372

54-
* Features-Service (Apache), from [https://github.com/JavierMF/features-service](https://github.com/JavierMF/features-service)
73+
* Genome Nexus (MIT), [jdk_8_maven/cs/rest-gui/genome-nexus](jdk_8_maven/cs/rest-gui/genome-nexus), from [https://github.com/genome-nexus/genome-nexus](https://github.com/genome-nexus/genome-nexus)
5574

56-
* Scout-API (MIT), from [https://github.com/mikaelsvensson/scout-api](https://github.com/mikaelsvensson/scout-api)
75+
* Market (MIT), [jdk_11_maven/cs/rest-gui/market](jdk_11_maven/cs/rest-gui/market), from [https://github.com/aleksey-lukyanets/market](https://github.com/aleksey-lukyanets/market)
5776

58-
* ProxyPrint (Apache), from [https://github.com/ProxyPrint/proxyprint-kitchen](https://github.com/ProxyPrint/proxyprint-kitchen)
77+
* Features-Service (Apache), [jdk_8_maven/cs/rest/original/features-service](jdk_8_maven/cs/rest/original/features-service), from [https://github.com/JavierMF/features-service](https://github.com/JavierMF/features-service)
5978

60-
* CatWatch (Apache), from [https://github.com/zalando-incubator/catwatch](https://github.com/zalando-incubator/catwatch)
79+
* Scout-API (MIT), [jdk_8_maven/cs/rest/original/scout-api](jdk_8_maven/cs/rest/original/scout-api), from [https://github.com/mikaelsvensson/scout-api](https://github.com/mikaelsvensson/scout-api)
6180

62-
* OCVN (MIT), from [https://github.com/devgateway/ocvn](https://github.com/devgateway/ocvn)
81+
* ProxyPrint (Apache), [jdk_8_maven/cs/rest/original/proxyprint](jdk_8_maven/cs/rest/original/proxyprint), from [https://github.com/ProxyPrint/proxyprint-kitchen](https://github.com/ProxyPrint/proxyprint-kitchen)
6382

64-
* News (LGPL), from [https://github.com/arcuri82/testing_security_development_enterprise_systems](https://github.com/arcuri82/testing_security_development_enterprise_systems)
83+
* CatWatch (Apache), [jdk_8_maven/cs/rest/original/catwatch](jdk_8_maven/cs/rest/original/catwatch), from [https://github.com/zalando-incubator/catwatch](https://github.com/zalando-incubator/catwatch)
6584

66-
* Restcountries (MPL), from [https://github.com/apilayer/restcountries](https://github.com/apilayer/restcountries)
85+
* OCVN (MIT), [jdk_8_maven/cs/rest-gui/ocvn](jdk_8_maven/cs/rest-gui/ocvn), from [https://github.com/devgateway/ocvn](https://github.com/devgateway/ocvn)
6786

68-
* Languagetool (LGPL), from [https://github.com/languagetool-org/languagetool](https://github.com/languagetool-org/languagetool)
87+
* News (LGPL), [jdk_8_maven/cs/rest/artificial/news](jdk_8_maven/cs/rest/artificial/news), from [https://github.com/arcuri82/testing_security_development_enterprise_systems](https://github.com/arcuri82/testing_security_development_enterprise_systems)
6988

70-
* CWA-Verification-Server (Apache), from [https://github.com/corona-warn-app/cwa-verification-server](https://github.com/corona-warn-app/cwa-verification-server)
89+
* Restcountries (MPL), [jdk_8_maven/cs/rest/original/restcountries](jdk_8_maven/cs/rest/original/restcountries), from [https://github.com/apilayer/restcountries](https://github.com/apilayer/restcountries)
7190

72-
* Gestao Hospital (not-known license), from [https://github.com/ValchanOficial/GestaoHospital](https://github.com/ValchanOficial/GestaoHospital)
91+
* Languagetool (LGPL), [jdk_8_maven/cs/rest/original/languagetool](jdk_8_maven/cs/rest/original/languagetool), from [https://github.com/languagetool-org/languagetool](https://github.com/languagetool-org/languagetool)
7392

74-
* NCS (not-known license, artificial numerical examples coming from different sources)
93+
* CWA-Verification-Server (Apache), [jdk_11_maven/cs/rest/cwa-verification-server](jdk_11_maven/cs/rest/cwa-verification-server), from [https://github.com/corona-warn-app/cwa-verification-server](https://github.com/corona-warn-app/cwa-verification-server)
7594

76-
* SCS (not-known license, artificial string examples coming from different sources)
95+
* Gestao Hospital (not-known license), [jdk_8_maven/cs/rest-gui/gestaohospital](jdk_8_maven/cs/rest-gui/gestaohospital), from [https://github.com/ValchanOficial/GestaoHospital](https://github.com/ValchanOficial/GestaoHospital)
7796

97+
* NCS, [jdk_8_maven/cs/rest/artificial/ncs](jdk_8_maven/cs/rest/artificial/ncs), (not-known license, artificial numerical examples coming from different sources)
7898

79-
### REST: JavaScript/TypeScript
99+
* SCS, [jdk_8_maven/cs/rest/artificial/scs](jdk_8_maven/cs/rest/artificial/scs), (not-known license, artificial string examples coming from different sources)
80100

81-
* Disease-sh-API (GPL), from [https://github.com/disease-sh/API](https://github.com/disease-sh/API)
82101

83-
* Cyclotron (MIT), from [https://github.com/ExpediaInceCommercePlatform/cyclotron](https://github.com/ExpediaInceCommercePlatform/cyclotron)
84102

85-
* SpaceX-API (Apache-2.0 License), from [https://github.com/r-spacex/SpaceX-API](https://github.com/r-spacex/SpaceX-API)
103+
### GraphQL: Java/Kotlin
86104

87-
* Realworld-App (ISC), from [https://github.com/lujakob/nestjs-realworld-example-app](https://github.com/lujakob/nestjs-realworld-example-app)
105+
* Spring-Pet-Clinic (Apache), [jdk_8_maven/cs/graphql/petclinic-graphql](jdk_8_maven/cs/graphql/petclinic-graphql), from [https://github.com/spring-petclinic/spring-petclinic-graphql]()
88106

89-
* NCS (not-known license, artificial numerical examples coming from different sources)
107+
* Patio-Api (GPL), [jdk_11_gradle/cs/graphql/patio-api](jdk_11_gradle/cs/graphql/patio-api), from [https://github.com/patio-team/patio-api]()
90108

91-
* SCS (not-known license, artificial string examples coming from different sources)
109+
* Timbuctoo (GPL), [jdk_11_maven/cs/graphql/timbuctoo](jdk_11_maven/cs/graphql/timbuctoo), from [https://github.com/HuygensING/timbuctoo]()
92110

111+
* NCS, [jdk_8_maven/cs/graphql/graphql-ncs](jdk_8_maven/cs/graphql/graphql-ncs), (not-known license, artificial numerical examples coming from different sources)
93112

94-
### REST: .NET/C#
113+
* SCS, [jdk_8_maven/cs/graphql/graphql-scs](jdk_8_maven/cs/graphql/graphql-scs), (not-known license, artificial string examples coming from different sources)
95114

96-
* Menu.API (not-known license), from [https://github.com/chayxana/Restaurant-App](https://github.com/chayxana/Restaurant-App)
97115

98-
* SampleProject (MIT), from [https://github.com/kgrzybek/sample-dotnet-core-cqrs-api](https://github.com/kgrzybek/sample-dotnet-core-cqrs-api)
116+
### RPC (Thrift/gRPC): Java
99117

100118
* NCS (not-known license, artificial numerical examples coming from different sources)
101119

102120
* SCS (not-known license, artificial string examples coming from different sources)
103121

104122

105-
### GraphQL: Java/Kotlin
123+
### WEB: backend in Java/Kotlin
106124

107-
* Spring-Pet-Clinic (Apache), from [https://github.com/spring-petclinic/spring-petclinic-graphql]()
125+
* Spring-PetClinic (Apache), [jdk_17_maven/cs/web/spring-petclinic](jdk_17_maven/cs/web/spring-petclinic), from [https://github.com/spring-projects/spring-petclinic]()
108126

109-
* Patio-Api (GPL), from [https://github.com/patio-team/patio-api]()
110127

111-
* Timbuctoo (GPL), from [https://github.com/HuygensING/timbuctoo]()
128+
### REST: JavaScript/TypeScript
112129

113-
* NCS (not-known license, artificial numerical examples coming from different sources)
130+
* Disease-sh-API (GPL), [js_npm/rest/disease-sh-api](js_npm/rest/disease-sh-api), from [https://github.com/disease-sh/API](https://github.com/disease-sh/API)
114131

115-
* SCS (not-known license, artificial string examples coming from different sources)
132+
* Cyclotron (MIT), [js_npm/rest/cyclotron](js_npm/rest/cyclotron), from [https://github.com/ExpediaInceCommercePlatform/cyclotron](https://github.com/ExpediaInceCommercePlatform/cyclotron)
116133

134+
* SpaceX-API (Apache-2.0 License), [js_npm/rest/spacex-api](js_npm/rest/spacex-api), from [https://github.com/r-spacex/SpaceX-API](https://github.com/r-spacex/SpaceX-API)
117135

118-
### GraphQL: JavaScript/TypeScript
136+
* Realworld-App (ISC), [js_npm/rest/realworld-app](js_npm/rest/realworld-app), from [https://github.com/lujakob/nestjs-realworld-example-app](https://github.com/lujakob/nestjs-realworld-example-app)
119137

120-
* React-Finland (not-known license), from [https://github.com/ReactFinland/graphql-api](https://github.com/ReactFinland/graphql-api)
138+
* NCS, [js_npm/rest/ncs](js_npm/rest/ncs), (not-known license, artificial numerical examples coming from different sources)
121139

122-
* E-Commerce Server (MIT), from [https://github.com/react-shop/react-ecommerce](https://github.com/react-shop/react-ecommerce)
140+
* SCS, [js_npm/rest/scs](js_npm/rest/scs), (not-known license, artificial string examples coming from different sources)
123141

124-
### RPC (Thrift/gRPC): Java
142+
143+
### REST: .NET/C#
144+
145+
* Menu.API (not-known license), from [https://github.com/chayxana/Restaurant-App](https://github.com/chayxana/Restaurant-App)
146+
147+
* SampleProject (MIT), from [https://github.com/kgrzybek/sample-dotnet-core-cqrs-api](https://github.com/kgrzybek/sample-dotnet-core-cqrs-api)
125148

126149
* NCS (not-known license, artificial numerical examples coming from different sources)
127150

128151
* SCS (not-known license, artificial string examples coming from different sources)
129152

153+
154+
155+
### GraphQL: JavaScript/TypeScript
156+
157+
* React-Finland (not-known license), [js_npm/graphql/react-finland](js_npm/graphql/react-finland), from [https://github.com/ReactFinland/graphql-api](https://github.com/ReactFinland/graphql-api)
158+
159+
* E-Commerce Server (MIT), [js_npm/graphql/ecommerce-server](js_npm/graphql/ecommerce-server), from [https://github.com/react-shop/react-ecommerce](https://github.com/react-shop/react-ecommerce)
160+
161+
130162
## Using This Repository
131163

132164
Due to several reasons, the software in this repository is not published as a library (e.g., on Maven and NPM).

dotnet_3/em/common.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project>
22
<ItemGroup>
3-
<PackageReference Include="EvoMaster.Controller" Version="1.5.0" />
3+
<PackageReference Include="EvoMaster.Controller" Version="1.6.2-SNAPSHOT" />
44

55
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0"/>
66
<PackageReference Include="xunit" Version="2.4.0"/>

jdk_11_gradle/em/embedded/graphql/patio-api/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ dependencyManagement {
2929
}
3030
}
3131

32-
val EVOMASTER_VERSION = "1.5.0"
32+
val EVOMASTER_VERSION = "1.6.2-SNAPSHOT"
3333

3434
dependencies{
3535
implementation("org.evomaster:evomaster-client-java-controller:$EVOMASTER_VERSION")

jdk_11_gradle/em/external/graphql/patio-api/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ dependencyManagement {
3737
}
3838
}
3939

40-
val EVOMASTER_VERSION = "1.5.0"
40+
val EVOMASTER_VERSION = "1.6.2-SNAPSHOT"
4141

4242
dependencies{
4343
implementation("org.evomaster:evomaster-client-java-controller:$EVOMASTER_VERSION")

jdk_11_maven/cs/graphql/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>org.evomaster</groupId>
77
<artifactId>evomaster-benchmark-jdk11-cs</artifactId>
8-
<version>1.5.0</version>
8+
<version>1.6.2-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>evomaster-benchmark-jdk11-cs-graphql</artifactId>

jdk_11_maven/cs/graphql/timbuctoo/timbuctoo-instancev4/pom.xml

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,40 +1007,40 @@
10071007

10081008
</plugins>
10091009
</build>
1010-
1011-
<profiles>
1012-
<profile>
1013-
<id>makeIndex</id>
1014-
<activation>
1015-
<os>
1016-
<family>unix</family>
1017-
</os>
1018-
</activation>
1019-
<build>
1020-
<plugins>
1021-
<plugin>
1022-
<groupId>org.codehaus.mojo</groupId>
1023-
<artifactId>exec-maven-plugin</artifactId>
1024-
<version>${exec-maven-plugin.version}</version>
1025-
<executions>
1026-
<execution>
1027-
<id>build-docs</id>
1028-
<phase>post-integration-test</phase>
1029-
<goals>
1030-
<goal>exec</goal>
1031-
</goals>
1032-
<configuration>
1033-
<executable>${basedir}/src/spec/scripts/builddoc</executable>
1034-
<commandlineArgs>
1035-
${basedir}/src/spec/resources/ ${basedir}/target/concordion/
1036-
</commandlineArgs>
1037-
</configuration>
1038-
</execution>
1039-
</executions>
1040-
</plugin>
1041-
</plugins>
1042-
</build>
1043-
</profile>
1044-
</profiles>
1010+
<!--removed due to Mac-->
1011+
<!-- <profiles>-->
1012+
<!-- <profile>-->
1013+
<!-- <id>makeIndex</id>-->
1014+
<!-- <activation>-->
1015+
<!-- <os>-->
1016+
<!-- <family>unix</family>-->
1017+
<!-- </os>-->
1018+
<!-- </activation>-->
1019+
<!-- <build>-->
1020+
<!-- <plugins>-->
1021+
<!-- <plugin>-->
1022+
<!-- <groupId>org.codehaus.mojo</groupId>-->
1023+
<!-- <artifactId>exec-maven-plugin</artifactId>-->
1024+
<!-- <version>${exec-maven-plugin.version}</version>-->
1025+
<!-- <executions>-->
1026+
<!-- <execution>-->
1027+
<!-- <id>build-docs</id>-->
1028+
<!-- <phase>post-integration-test</phase>-->
1029+
<!-- <goals>-->
1030+
<!-- <goal>exec</goal>-->
1031+
<!-- </goals>-->
1032+
<!-- <configuration>-->
1033+
<!-- <executable>${basedir}/src/spec/scripts/builddoc</executable>-->
1034+
<!-- <commandlineArgs>-->
1035+
<!-- ${basedir}/src/spec/resources/ ${basedir}/target/concordion/-->
1036+
<!-- </commandlineArgs>-->
1037+
<!-- </configuration>-->
1038+
<!-- </execution>-->
1039+
<!-- </executions>-->
1040+
<!-- </plugin>-->
1041+
<!-- </plugins>-->
1042+
<!-- </build>-->
1043+
<!-- </profile>-->
1044+
<!-- </profiles>-->
10451045

10461046
</project>

jdk_11_maven/cs/graphql/timbuctoo/timbuctoo-instancev4/src/main/java/nl/knaw/huygens/timbuctoo/v5/datastorage/implementations/filesystem/FileSystemDataStorage.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ public Map<String, Set<DataSetMetaData>> loadDataSetMetaData() throws IOExceptio
5757
File[] directories = new File(dataSetMetadataLocation).listFiles(File::isDirectory);
5858
for (File directory : directories) {
5959
String dirName = directory.toString();
60-
String currentOwnerId = dirName.substring(dirName.lastIndexOf("/") + 1);
60+
// String currentOwnerId = dirName.substring(dirName.lastIndexOf("/") + 1);
61+
String currentOwnerId = dirName.substring(dirName.lastIndexOf(File.separatorChar) + 1);
6162
Set<DataSetMetaData> tempMetaDataSet = new HashSet<>();
6263
try (Stream<Path> fileStream = Files.walk(directory.toPath())) {
6364
Set<Path> paths = fileStream.filter(current -> Files.isDirectory(current)).collect(Collectors.toSet());

jdk_11_maven/cs/pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
<parent>
66
<groupId>org.evomaster</groupId>
77
<artifactId>evomaster-benchmark-jdk11</artifactId>
8-
<version>1.5.0</version>
8+
<version>1.6.2-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>evomaster-benchmark-jdk11-cs</artifactId>
1212
<packaging>pom</packaging>
1313

1414
<modules>
1515
<module>rest</module>
16+
<module>rest-gui</module>
1617
<module>graphql</module>
1718
</modules>
1819

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.dockerignore
2+
**/*.log
3+
**/*.err
4+
Dockerfile
5+
.git
6+
.gitignore

0 commit comments

Comments
 (0)