Skip to content

Commit 8ba67f8

Browse files
committed
update main readme
1 parent 388b882 commit 8ba67f8

File tree

7 files changed

+26
-15
lines changed

7 files changed

+26
-15
lines changed

README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,20 @@
44

55
## Overview
66

7-
This repo releases the prototype and datatsets of the `ctest` paper:
87

9-
**Testing Configuration Changes in Context to Prevent Production Failures**
8+
This repository releases the prototype and datatsets of the `ctest` paper:
9+
10+
**[Testing Configuration Changes in Context to Prevent Production Failures](https://www.usenix.org/conference/osdi20/presentation/sun "paper")** <br/>
1011
In Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI'20), Nov. 2020.
1112

12-
We are still working on the documents and the repo will be ready before the OSDI'20 conference.
13+
Please cite the paper if you use the code or the datasets.
14+
15+
## Repository Structure
16+
17+
### [core](https://github.com/xlab-uiuc/openctest/tree/main/core "core")
18+
19+
The prototype for generating and running ctests.
20+
21+
### [data](https://github.com/xlab-uiuc/openctest/tree/main/data "data")
22+
23+
The datasets evaluated in the paper.

core/ADDING_NEW_PROJECT.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Sometimes, the locations that need to be changed maybe in multiple `pom` files.
4545

4646
### 2.1 Collect Configuration Parameters and Tests
4747

48-
*First*, collect the name, default value (empty if no default value) and description of each configuration parameters in the project. Store the information in a `tsv` file in `default_configs`. For example: [hadoop-common-default.tsv](https://github.com/xlab-uiuc/openctest/blob/master/core/default_configs/hadoop-common-default.tsv).
48+
*First*, collect the name, default value (empty if no default value) and description of each configuration parameters in the project. Store the information in a `tsv` file in `default_configs`. For example: [hadoop-common-default.tsv](https://github.com/xlab-uiuc/openctest/blob/main/core/default_configs/hadoop-common-default.tsv).
4949

5050
*Second*, collect the list of configuration parameter names and put them in `openctest/core/identify_param/results/<project>/conf_params.list`.
5151

@@ -54,7 +54,7 @@ Sometimes, the locations that need to be changed maybe in multiple `pom` files.
5454

5555
### 2.2 Collect Deprecated Configuration Parameters
5656

57-
Collect a mapping from the deprecated parameter name to the new parameter name. Store the information in a `tsv` file in `deprecated_configs`. The format should be the deprecated parameter name followed by the new parameter name. For example: [hadoop.list](https://github.com/xlab-uiuc/openctest/blob/master/core/deprecated_configs/hadoop.list "hadoop.list")
57+
Collect a mapping from the deprecated parameter name to the new parameter name. Store the information in a `tsv` file in `deprecated_configs`. The format should be the deprecated parameter name followed by the new parameter name. For example: [hadoop.list](https://github.com/xlab-uiuc/openctest/blob/main/core/deprecated_configs/hadoop.list "hadoop.list")
5858

5959

6060
### 2.3 Automate Project Installation

core/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,11 @@ Use **identify_param** to identify configuration parameters exercised by tests i
7676
3. for each configuration parameter `p`, identify tests that reset the value of `p`, and exclude `p` from these tests' exercised parameter set.
7777
4. generate a mapping where the keys are parameters, and values are lists of tests which exercise but not reset the parameters.
7878

79-
Please refer to the [identify_param](https://github.com/xlab-uiuc/openctest/tree/master/core/identify_param "identify_param") folder for instructions.
79+
Please refer to the [identify_param](https://github.com/xlab-uiuc/openctest/tree/main/core/identify_param "identify_param") folder for instructions.
8080

8181
#### 1.2 Generating Parameter Sets for Ctests
8282

83-
*First*, use **generate_value** to automatically generate up to three different valid values for each parameter. The generated valid values are used to exclude tests hardcoded to specific parameter values (These tests cannot be transformed into ctests as they will fail on any other valid but different values), Please refer to the [generate_value](https://github.com/xlab-uiuc/openctest/tree/master/core/generate_value "generate_value") folder for instructions.
83+
*First*, use **generate_value** to automatically generate up to three different valid values for each parameter. The generated valid values are used to exclude tests hardcoded to specific parameter values (These tests cannot be transformed into ctests as they will fail on any other valid but different values), Please refer to the [generate_value](https://github.com/xlab-uiuc/openctest/tree/main/core/generate_value "generate_value") folder for instructions.
8484

8585
*Second*, use **generate_ctest** to automatically generate ctests. It will do the following:
8686

@@ -89,7 +89,7 @@ Please refer to the [identify_param](https://github.com/xlab-uiuc/openctest/tree
8989
3. automatically identify ctests (tests that passed on all valid values) for each parameter from the test result.
9090
4. output the generated "parameters -> ctests" mapping into a `json` file.
9191

92-
Please refer to the [generate_ctest](https://github.com/xlab-uiuc/openctest/tree/master/core/generate_ctest "generate_ctest") folder for instructions.
92+
Please refer to the [generate_ctest](https://github.com/xlab-uiuc/openctest/tree/main/core/generate_ctest "generate_ctest") folder for instructions.
9393

9494
### 2. Running Ctests
9595

@@ -100,4 +100,4 @@ Use **run_ctest** to run generated ctests against configuration files. It will d
100100
3. run selected ctests against configuration values in `D`.
101101
4. collect the test result for the specified configuration file.
102102

103-
Please refer to the [run_ctest](https://github.com/xlab-uiuc/openctest/tree/master/core/run_ctest "run_ctest") folder for instructions.
103+
Please refer to the [run_ctest](https://github.com/xlab-uiuc/openctest/tree/main/core/run_ctest "run_ctest") folder for instructions.

core/generate_ctest/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### Description
44

5-
See **[Generating Parameter Sets for Ctests](https://github.com/xlab-uiuc/openctest/tree/master/core#12-generating-parameter-sets-for-ctests)**.
5+
See **[Generating Parameter Sets for Ctests](https://github.com/xlab-uiuc/openctest/tree/main/core#12-generating-parameter-sets-for-ctests)**.
66

77
### Instruction
88

@@ -41,7 +41,7 @@ parameter test1 value2 test_result testcase_time
4141
...
4242
```
4343

44-
`test_result` is `p` if test passed, otherwise `f`. Skipped tests should be filtered automatically in the [Identifying Parameters Exercised in Tests](https://github.com/xlab-uiuc/openctest/tree/master/core#11-identifying-parameters-exercised-in-tests) step.
44+
`test_result` is `p` if test passed, otherwise `f`. Skipped tests should be filtered automatically in the [Identifying Parameters Exercised in Tests](https://github.com/xlab-uiuc/openctest/tree/main/core#11-identifying-parameters-exercised-in-tests) step.
4545

4646
**Ctest mapping** is generated based on all the test result files in `test_result/<project>`. It is stored in `ctest_mapping/ctests-<project>.json` with format:
4747
```

core/generate_value/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
### Introduction
55

6-
See [Generating Ctests - generating valid values](https://github.com/xlab-uiuc/openctest_prerelease/blob/master/core/README.md#12-generating-parameter-sets-for-ctests).
6+
See [Generating Ctests - generating valid values](https://github.com/xlab-uiuc/openctest/blob/main/core/README.md#12-generating-parameter-sets-for-ctests).
77

88
### Instruction
99

core/identify_param/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
### Description
55

6-
See [Identifying Parameters Exercised in Tests](https://github.com/xlab-uiuc/openctest/tree/master/core#11-identifying-parameters-exercised-in-tests)
6+
See [Identifying Parameters Exercised in Tests](https://github.com/xlab-uiuc/openctest/tree/main/core#11-identifying-parameters-exercised-in-tests)
77

88

99
### Instruction

core/run_ctest/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### Description
44

5-
See **[Running Ctests](https://github.com/xlab-uiuc/openctest/tree/master/core#2-running-ctests)**.
5+
See **[Running Ctests](https://github.com/xlab-uiuc/openctest/tree/main/core#2-running-ctests)**.
66

77
### Instruction
88

@@ -39,7 +39,7 @@ ctest2 test_result testcase_time
3939
...
4040
```
4141

42-
`test_result` is `p` if ctest passed, otherwise `f`. Skipped tests should be filtered automatically during [ctest generation](https://github.com/xlab-uiuc/openctest/tree/master/core#1-generating-ctests).
42+
`test_result` is `p` if ctest passed, otherwise `f`. Skipped tests should be filtered automatically during [ctest generation](https://github.com/xlab-uiuc/openctest/tree/main/core#1-generating-ctests).
4343

4444

4545
### Directory Structure

0 commit comments

Comments
 (0)