You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RESTRuler has been developed in the [Empirical Software Engineering Group](https://www.iste.uni-stuttgart.de/ese) at the University of Stuttgart, Germany, as a research prototype written in Java.
9
+
RESTRuler has been developed in the [Empirical Software Engineering Group](https://www.iste.uni-stuttgart.de/ese) at the University of Stuttgart, Germany, as a research prototype written in Java (version >=18 needed).
10
10
It is a command-line tool that takes the path or URL to an OpenAPI definition file as input and displays a list of design rule violations as output.
11
11
Optionally, a Markdown report file can be generated with additional details and improvement suggestions.
Copy file name to clipboardexpand all lines: docs/rules/implemented-rules/CRUD-function-names-should-not-be-used-in-URIs.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ The following anti-patterns exemplify what not to do:
49
49
* The parameters in curly brackets are excluded from the path and are therefore currently not checked
50
50
* If more than these previously defined words are to be considered CRUD violations, perform the following steps:
51
51
1. Add the appropriate words to the attribute `CRUD_OPERATIONS` in the `./src/main/java/cli/rule/rules/CRUDRule.java`
52
-
2. Mine the words that have the appropriate words as substring from `./src/main/java/cli/docs/wordninja_words.txt` and add them to the list `./src/main/java/cli/docs/CRUD_words.txt` (Exclude similar words to still detect the violation; e.g. "gets" from "get")
52
+
2. Mine the words that have the appropriate words as substring from `./src/main/resources/wordninja_words.txt` and add them to the list `./src/main/resources/CRUD_words.txt` (Exclude similar words to still detect the violation; e.g. "gets" from "get")
Copy file name to clipboardexpand all lines: docs/rules/implemented-rules/File-extensions-should-not-be-included-in-URIs.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -27,12 +27,12 @@ On the Web, the period (.) character is commonly used to separate the file name
27
27
28
28
### What is checked
29
29
30
-
The Path is divided into the individual segments. Then, to check if a segment ends with a dot and a file extension (.file-extension), a list [2] of 838 different file extensions is searched. If one of them matches the end of the segment, a rule violation is returned. This list can be extended very easily if file extensions are missed. The list is located here: `./src/main/java/cli/docs/file_extensions.txt`.
30
+
The Path is divided into the individual segments. Then, to check if a segment ends with a dot and a file extension (.file-extension), a list [2] of 838 different file extensions is searched. If one of them matches the end of the segment, a rule violation is returned. This list can be extended very easily if file extensions are missed. The list is located here: `./src/main/resources/file_extensions.txt`.
31
31
32
32
### What is not checked
33
33
34
34
* The path needs to end with .file-extension. If the path does not end with this, the rule is not violated.
35
-
* It is possible that individual file extensions are not recognized because they have not been recorded in the system. To create a rule violation anyway, simply add the non-existing extensions to the list: `./src/main/java/cli/docs/file_extensions.txt`
35
+
* It is possible that individual file extensions are not recognized because they have not been recorded in the system. To create a rule violation anyway, simply add the non-existing extensions to the list: `./src/main/resources/file_extensions.txt`
Copy file name to clipboardexpand all lines: docs/rules/implemented-rules/Request-Methods.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ Description from Massé [1].
32
32
### What is checked:
33
33
34
34
* For each request, we check if the description or summary attribute corresponds to the request type.
35
-
* To implement this, we used Weka [2] to train a Naive Bayes Multinomial classifier (`models/request_model.dat`) that predicts the request type based on the description or the summary. We curated a dataset of over 3k instances for this (`models/request-model-training-data.txt`).
35
+
* To implement this, we used Weka [2] to train a Naive Bayes Multinomial classifier (`src/main/resources/models/request_model.dat`) that predicts the request type based on the description or the summary. We curated a dataset of over 3k instances for this (`model-training/request-model-training-data.txt`).
36
36
* If the prediction doesn't match with the given request type, we throw a violation.
0 commit comments