From a2932e2bde1ccbc4b02f6c8a18784028a32fb49c Mon Sep 17 00:00:00 2001
From: Jueun Park <s5616012@mailbox.tu-dresden.de>
Date: Sun, 17 Oct 2021 10:37:53 +0900
Subject: [PATCH] Update

---
 bibliography.bib          |  38 ++++++++++
 images/ast.pdf            | Bin 24413 -> 0 bytes
 images/astimage.png       | Bin 0 -> 80385 bytes
 lst.tex                   | 156 ++++++++++++++++++++++++++++++++++++++
 sections/background.tex   |   2 +-
 sections/benefits.tex     |  17 ++++-
 sections/conclusion.tex   |  10 ++-
 sections/feasibility.tex  |   2 +-
 sections/introduction.tex |   2 +-
 sections/openapi.tex      |   2 +-
 sections/rag.tex          |   4 +-
 sections/ragoGram.tex     |  25 +++++-
 sections/ragoProcess.tex  |   2 -
 sections/ragoTest.tex     |   5 +-
 sections/relatedwork.tex  |   3 +-
 sections/restapi.tex      |  59 +++++++++-----
 sections/stm1.tex         |  18 +++--
 sections/stm2.tex         |  12 ++-
 sections/summary.tex      |  46 +++++++++++
 sections/testing.tex      |   4 +-
 thesis.tex                |   3 +-
 21 files changed, 355 insertions(+), 55 deletions(-)
 delete mode 100644 images/ast.pdf
 create mode 100644 images/astimage.png
 create mode 100644 sections/summary.tex

diff --git a/bibliography.bib b/bibliography.bib
index f7dd294..4a6abf8 100644
--- a/bibliography.bib
+++ b/bibliography.bib
@@ -115,3 +115,41 @@ isbn = {978-81-203-5068-7}
   year={2018}
 }
 
+@article{mey2020reusing,
+  title={Reusing Static Analysis across Different Domain-Specific Languages using Reference Attribute Grammars},
+  author={Mey, Johannes and K{\"u}hn, Thomas and Sch{\"o}ne, Ren{\'e} and Assmann, Uwe},
+  journal={arXiv preprint arXiv:2002.06187},
+  year={2020}
+}
+
+@inproceedings{ekman2007jastadd,
+  title={The jastadd extensible java compiler},
+  author={Ekman, Torbj{\"o}rn and Hedin, G{\"o}rel},
+  booktitle={Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems, languages and applications},
+  pages={1--18},
+  year={2007}
+}
+
+@inproceedings{fors2020principles,
+  title={Principles and patterns of JastAdd-style reference attribute grammars},
+  author={Fors, Niklas and S{\"o}derberg, Emma and Hedin, G{\"o}rel},
+  booktitle={Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering},
+  pages={86--100},
+  year={2020}
+}
+
+@inproceedings{mey2018continuous,
+  title={Continuous model validation using reference attribute grammars},
+  author={Mey, Johannes and Sch{\"o}ne, Ren{\'e} and Hedin, G{\"o}rel and S{\"o}derberg, Emma and K{\"u}hn, Thomas and Fors, Niklas and {\"O}qvist, Jesper and A{\ss}mann, Uwe},
+  booktitle={Proceedings of the 11th ACM SIGPLAN International Conference on Software Language Engineering},
+  pages={70--82},
+  year={2018}
+}
+
+@inproceedings{schone2020connecting,
+  title={Connecting conceptual models using relational reference attribute grammars},
+  author={Sch{\"o}ne, Ren{\'e} and Mey, Johannes and Ebert, Sebastian and A{\ss}mann, Uwe},
+  booktitle={Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings},
+  pages={1--11},
+  year={2020}
+}
diff --git a/images/ast.pdf b/images/ast.pdf
deleted file mode 100644
index 8e3efd11ebde0d48cc86bc446ee4255ab908f2b0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 24413
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
Tz_o#qk%fsFm#V6(zZ(|-lkvh~

diff --git a/images/astimage.png b/images/astimage.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd5548ed3024a3995d34a8962ff686f8060efa13
GIT binary patch
literal 80385
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
FCIG%akXQf!

literal 0
HcmV?d00001

diff --git a/lst.tex b/lst.tex
index 58a67e4..c2baae6 100644
--- a/lst.tex
+++ b/lst.tex
@@ -1,6 +1,15 @@
 \usepackage{listings}
 \usepackage{inconsolata}
 
+
+\usepackage{bera}% optional: just to have a nice mono-spaced font
+\usepackage{listings}
+
+\colorlet{punct}{red!60!black}
+\definecolor{background}{HTML}{EEEEEE}
+\definecolor{delim}{RGB}{20,105,176}
+\colorlet{numb}{magenta!60!black}
+
 \lstdefinestyle{common-style}{
   basicstyle=\small\ttfamily,  % the size of the fonts that are used for the code
   showspaces=false,                   % show spaces adding particular underscores
@@ -13,6 +22,87 @@
   breakatwhitespace=true,             % sets if automatic breaks should only happen at whitespace
   keywordstyle={\color{blue}\textbf}, % keywords are blue
   commentstyle={\color{gray}},        % comments
+  backgroundcolor=\color{background},
+  literate={\$}{{{\$}}}1,
+  basewidth=0.5em,
+  breakindent=40pt,
+  breakautoindent=true,
+  escapechar=\&,
+  aboveskip={0.1\baselineskip}
+}
+
+\lstdefinestyle{get-style}{
+  basicstyle=\small\ttfamily,  % the size of the fonts that are used for the code
+  showspaces=false,                   % show spaces adding particular underscores
+  showstringspaces=false,             % underline spaces within strings
+  showtabs=false,                     % show tabs within strings adding particular underscores
+%  frame=tlrb,                         % adds a frame around the code
+  framexleftmargin=1em,               % space between left part of frame and listing
+  tabsize=2,                          % sets default tabsize to 2 spacesz
+  breaklines=true,                    % sets automatic line breaking
+  breakatwhitespace=true,             % sets if automatic breaks should only happen at whitespace
+  keywordstyle={\color{blue}\textbf}, % keywords are blue
+  commentstyle={\color{gray}},        % comments
+  literate={\$}{{{\$}}}1,
+  basewidth=0.5em,
+  breakindent=40pt,
+  breakautoindent=true,
+  escapechar=\&,
+  aboveskip={0.1\baselineskip}
+}
+
+\lstdefinestyle{post-style}{
+  basicstyle=\small\ttfamily,  % the size of the fonts that are used for the code
+  showspaces=false,                   % show spaces adding particular underscores
+  showstringspaces=false,             % underline spaces within strings
+  showtabs=false,                     % show tabs within strings adding particular underscores
+%  frame=tlrb,                         % adds a frame around the code
+  framexleftmargin=1em,               % space between left part of frame and listing
+  tabsize=2,                          % sets default tabsize to 2 spacesz
+  breaklines=true,                    % sets automatic line breaking
+  breakatwhitespace=true,             % sets if automatic breaks should only happen at whitespace
+  keywordstyle={\color{olive}\textbf}, % keywords are blue
+  commentstyle={\color{gray}},        % comments
+  literate={\$}{{{\$}}}1,
+  basewidth=0.5em,
+  breakindent=40pt,
+  breakautoindent=true,
+  escapechar=\&,
+  aboveskip={0.1\baselineskip}
+}
+
+\lstdefinestyle{delete-style}{
+  basicstyle=\small\ttfamily,  % the size of the fonts that are used for the code
+  showspaces=false,                   % show spaces adding particular underscores
+  showstringspaces=false,             % underline spaces within strings
+  showtabs=false,                     % show tabs within strings adding particular underscores
+%  frame=tlrb,                         % adds a frame around the code
+  framexleftmargin=1em,               % space between left part of frame and listing
+  tabsize=2,                          % sets default tabsize to 2 spaces
+  breaklines=true,                    % sets automatic line breaking
+  breakatwhitespace=true,             % sets if automatic breaks should only happen at whitespace
+  keywordstyle={\color{red}\textbf}, % keywords are blue
+  commentstyle={\color{gray}},        % comments
+  literate={\$}{{{\$}}}1,
+  basewidth=0.5em,
+  breakindent=40pt,
+  breakautoindent=true,
+  escapechar=\&,
+  aboveskip={0.1\baselineskip}
+}
+
+\lstdefinestyle{put-style}{
+  basicstyle=\small\ttfamily,  % the size of the fonts that are used for the code
+  showspaces=false,                   % show spaces adding particular underscores
+  showstringspaces=false,             % underline spaces within strings
+  showtabs=false,                     % show tabs within strings adding particular underscores
+%  frame=tlrb,                         % adds a frame around the code
+  framexleftmargin=1em,               % space between left part of frame and listing
+  tabsize=2,                          % sets default tabsize to 2 spaces
+  breaklines=true,                    % sets automatic line breaking
+  breakatwhitespace=true,             % sets if automatic breaks should only happen at whitespace
+  keywordstyle={\color{orange}\textbf}, % keywords are orange
+  commentstyle={\color{gray}},        % comments
   literate={\$}{{{\$}}}1,
   basewidth=0.5em,
   breakindent=40pt,
@@ -59,3 +149,69 @@
 \lstdefinestyle{AST} { language=AST,style=common-style } 
 \lstdefinestyle{JRAG} { language=JRAG,style=common-style }
 \lstdefinestyle{Java} { language=Java,style=common-style }
+
+\lstdefinelanguage{GET}{
+	style=get-style,
+	morekeywords={GET},
+	otherkeywords={::=,->,<,>},
+	morecomment=[l]{//}, morecomment=[s]{/*}{*/},
+}
+
+\lstdefinelanguage{POST}{
+	style=post-style,
+	morekeywords={POST},
+	otherkeywords={::=,->,<,>},
+	morecomment=[l]{//}, morecomment=[s]{/*}{*/},
+}
+
+\lstdefinelanguage{DELETE}{
+	style=delete-style,
+	morekeywords={DELETE},
+	otherkeywords={::=,->,<,>},
+	morecomment=[l]{//}, morecomment=[s]{/*}{*/},
+}
+
+\lstdefinelanguage{PUT}{
+	style=put-style,
+	morekeywords={PUT},
+	otherkeywords={::=,->,<,>},
+	morecomment=[l]{//}, morecomment=[s]{/*}{*/},
+}
+
+\lstdefinelanguage{json}{
+    basicstyle=\small\ttfamily,
+    breaklines=true,
+    frame=lines,
+    backgroundcolor=\color{background},
+    literate=
+     *{0}{{{\color{numb}0}}}{1}
+      {1}{{{\color{numb}1}}}{1}
+      {2}{{{\color{numb}2}}}{1}
+      {3}{{{\color{numb}3}}}{1}
+      {4}{{{\color{numb}4}}}{1}
+      {5}{{{\color{numb}5}}}{1}
+      {6}{{{\color{numb}6}}}{1}
+      {7}{{{\color{numb}7}}}{1}
+      {8}{{{\color{numb}8}}}{1}
+      {9}{{{\color{numb}9}}}{1}
+      {:}{{{\color{punct}{:}}}}{1}
+      {,}{{{\color{punct}{,}}}}{1}
+      {\{}{{{\color{delim}{\{}}}}{1}
+      {\}}{{{\color{delim}{\}}}}}{1}
+      {[}{{{\color{delim}{[}}}}{1}
+      {]}{{{\color{delim}{]}}}}{1},
+}
+
+\lstdefinestyle{rest}{
+  breaklines=true,
+  frame=lines,
+  backgroundcolor=\color{background},
+  emptylines=1,
+  breaklines=true,
+  basicstyle=\ttfamily\color{black},
+  moredelim=**[is][\color{violet}]{@}{@},
+  moredelim=**[is][\color{orange}]{~}{~},
+  moredelim=**[is][\color{cyan}]{<}{>},
+  moredelim=**[is][\color{brown}]{ABCD}{ABCD},
+  moredelim=**[is][\color{olive}]{V}{V},
+}
\ No newline at end of file
diff --git a/sections/background.tex b/sections/background.tex
index d06a2d4..1d6029f 100644
--- a/sections/background.tex
+++ b/sections/background.tex
@@ -1,5 +1,5 @@
 \chapter{Background}\label{ch:background}
-In this Chapter, concepts and technologies related and used as the basis of this work are presented.
+In this Chapter, we present basis concepts and technologies of this work to understand the following contents after this chapter.
 
 \input{sections/testing}
 \input{sections/restapi}
diff --git a/sections/benefits.tex b/sections/benefits.tex
index d78b70d..4f37096 100644
--- a/sections/benefits.tex
+++ b/sections/benefits.tex
@@ -4,14 +4,12 @@
 \item{\textbf{RQ3 : Which advantages can RAG provide with its features at expressing testing approaches?}} 
 \end{description}
 
-% General
-
 % Helpful attributes (Collection, inherited, easier return with =)
 During the implementation phase of parameter inference, RAG was beneficial at writing codes. At writing codes for parser and back-transformation, attributes could not be applied, because the functional parts change the structure of AST, which conflicts to the definition of attribute and also in JastAdd. So, it could not be realized that attributes can be practical. But, following attributes and features of JastAdd were helpful to construct the generators and implement them:
 
 \begin{itemize}
-\item As long as a returning value can be called or storable by an AST node, the syntax in RAG is reduced with an equals sign and simpler than in common programming language. Therefore, the source codes are compact. To compare how RAG could be implemented effectively, see the implementation of an attribute in this work in Listing~\ref{lst:attribute-infParam} and how this attribute is defined in common Java description in Listing~\ref{lst:java-infParam}.
-\item To iterate all paths available in OpenAPI, an inherited attribute facilitated the writing effort. Paths Objects are child nodes of OpenAPI Object, so, all that should have been done was only two lines of code instead of writing an extra for loop. See Listing~\ref{lst:inherited}.
+\item As long as a returning value can be called or storable by an AST node, the syntax in RAG is reduced with an equals sign and simpler than in common programming language. Therefore, the source codes are compact. To compare how RAG could be implemented effectively, see the implementation of an attribute in this work in Listing~\ref{lst:attribute-infParam} and how it is defined in common Java description in Listing~\ref{lst:java-infParam}.
+\item To iterate all elements available in a node, an inherited attribute facilitated the writing effort. Paths Objects are child nodes of an OpenAPI Object, so, all that should have been done was only two lines of code instead of writing an extra for-loop. See Listing~\ref{lst:inherited}.
 \item Nodes described as References could refer objects with a collection attribute. Listing~\ref{lst:rago-ast} shows how attributes for such purpose look like.
 \end{itemize}
 
@@ -37,6 +35,7 @@ eq OpenAPIObject.getPathsObject(int i).inferUrl(){
 \end{lstlisting} 
 
 % Extension
+Additionally, JastAdd frameworks developed so far could improve testing methods in RAGs. Improvements with those extensions are huge advantages of RAG. ExtendJ, previously JastAddJ, is a Java compiler extended with JastAdd \cite{ekman2007jastadd}. It improves Java compliance, compilation speed, specification size and the support for non-trivial extensions compared to other extensible Java compilers. Analyses suggested in RAG \cite{fors2020principles}, e.g. Name Analysis, Type Analysis, might also be usable at parameter inference, which the name inference in this paper uses the similar pattern as Name Analysis (Lookup). Relational Reference Attribute Grammars \cite{mey2018continuous} could improve problems with references and enable to build a new test model and connect it to the OpenAPI model implemented in this paper, parallel to \cite{gotz2018jastadd}, \cite{mey2020reusing}. A recently invented framework, RagConnect, enables to connect RAG-based models to models with other basis \cite{schone2020connecting}. Since version 0.2.1, it has a new model connection with REST and might help at generating test cases, because test cases are based on requests and responses of REST APIs. All of these extensions are open topics, so, it must be worthful to discuss and research how they can be used into OpenAPI Testing to suggest tests with a better quality.
 
 \begin{comment}
 > To evaulate how well-suited RAGs are for API testing, we revisit the research questions...
@@ -46,4 +45,14 @@ eq OpenAPIObject.getPathsObject(int i).inferUrl(){
 - erweiterbarkeit von RAGs
   - https://programming-journal.org/2020/4/15/
   - https://scholar.google.de/scholar?hl=de&as_sdt=0%2C5&q=exstensible+java+compiler+hedin&btnG=
+
+ExtendJ - The JastAdd Extensible Java Compiler -> enables static analysis and quality better
+
+relational RAGs (referenzen verbessern, verschiedene ASTs verbinden -> testbeschriebungs-modell und OAPI modell), 
+
+RagConnect (https://jastadd.pages.st.inf.tu-dresden.de/ragconnect/use_cases/) - erweiterung für verbindung mit laufzeitumgebungen (weil ein testsystem ja auch ein laufzeitsystem ist, könnte es helfen, mit openapi requests und responses umzugehen. hier könnte der experimentelle REST support helfen):
+
+Design and patterns
+ Lookup (P1) : name analysis for parameter inference
+Expected Type (P3) : type analysis for parameter inference
 \end{comment}
\ No newline at end of file
diff --git a/sections/conclusion.tex b/sections/conclusion.tex
index 8713f54..79c984c 100644
--- a/sections/conclusion.tex
+++ b/sections/conclusion.tex
@@ -1 +1,9 @@
-\chapter{Conclusion}\label{ch:conclusion}
\ No newline at end of file
+\chapter{Conclusion}\label{ch:conclusion}
+
+In this paper, we have firstly researched which approaches to test REST APIs documented by OpenAPI are developed so far. Most of approaches are based on Fuzzing and use concepts e.g. Parameter Inference, Operation Dependency Inference, Model Transformations, Stateful Dynamic Analysis, etc. to get more sensible results than results in random testing. 
+
+% 2 
+RAGO API is a first framework that configures OpenAPIs in RAG generates random test requests of an API descriebed in OpenAPI and infers parameters by responses in the API. The OpenAPI model is validated by \textbf{974 APIs} selected in the repository of apis.guru\footref{apis-guru}. This OpenAPI model could be the basis of published testing approaches introduced in this paper or any other test methods and be extended with JastAdd frameworks released already publicly. We have presented an example of an Fuzzing approach and usage of RAGs in attributes. Especially, collection attributes were the most helpful attributes in this work, because it simplified the implementation of references of OpenAPI structures used for grammar and parameter inference. 
+
+% 3
+Finally, we have presented several suggestions to extend this tool intended to improve basic functionalities e.g. references with \cite{mey2018continuous} and also to develop new approaches e.g. model transformation with \cite{gotz2018jastadd}, \cite{mey2020reusing}, \cite{schone2020connecting}
\ No newline at end of file
diff --git a/sections/feasibility.tex b/sections/feasibility.tex
index bdcbfd9..53cedf9 100644
--- a/sections/feasibility.tex
+++ b/sections/feasibility.tex
@@ -17,4 +17,4 @@ Several of them inference parameters or operations or use test model generation.
 To determine an answer of this question, we have constructed a data structure for OpenAPI specification in \Cref{ch:rago} to parse OpenAPI documents and validated the parser with 98 commercial APIs, i.e. the parser taken an OpenAPI document returns the same elements except elements with empty values and sibling elements of references in an OpenAPI document. The input and output documents still semantically are same. In \Cref{ch:stm}, we have also implemented two Fuzzing approaches (Random Testing, Parameter Inference). Parameter Inference is motivated by Specification-based Approach\cite{ed2018automatic} and RESTTESTGEN\cite{viglianisi2020resttestgen}, where seperate properties of responses are collected and used as inputs in a parameter with the same schema of a response.
 
 % 3
-Several approaches are based on their own metamodels. It is not clear yet, whether such model-based approaches could be developed in RAGs. For implementing metamodel generations of approaches in RAGs, a JastAdd- and ILP-based framework \cite{gotz2018jastadd} could be helpful to analyze and solve model problems, because it gives an optimized model solution for a problem described in AST model. Particularly, the OpenAPI structure implemented in this work is much smaller than models denied in \cite{gotz2018jastadd}. So, it could produce an interesting result for model problems in OpenAPI testing.
\ No newline at end of file
+Several approaches are based on their own metamodels. It is not clear yet, whether such model-based approaches could be developed in RAGs. For implementing metamodel generations of approaches in RAGs, JastAdd frameworks  \cite{gotz2018jastadd}, \cite{mey2020reusing} could be helpful to transform a model to another model. It is worthful to discuss and research how such frameworks developed already could be applied to those model-based approaches, because it would save an enormous amount of effort at implementing.
\ No newline at end of file
diff --git a/sections/introduction.tex b/sections/introduction.tex
index ded930d..448b2e1 100644
--- a/sections/introduction.tex
+++ b/sections/introduction.tex
@@ -16,7 +16,7 @@ To sum up, following three questions are formulated as research questions:
 \item{\textbf{RQ3 : Which advantages can RAG provide with its features at expressing testing approaches?}} 
 \end{description}
 
-\textbf{RQ1} is intended to investigate which approaches might be able to implement in RAG. Corresponding literatures are introduced in \Cref{ch:curr-appr}. \\ \textbf{RQ2} focuses on the implementation the data structure and testing methods in RAG and is answered in \Cref{ch:rago} and \Cref{ch:stm}. \\ In \Cref{ch:suitability}, Results for \textbf{RQ3} shows concretely which features of RAG are usable and which benefits exist at this point.
+\textbf{RQ1} is intended to investigate which approaches might be able to implement in RAG. Corresponding literatures are introduced in \Cref{ch:curr-appr}. \textbf{RQ2} focuses on the implementation the data structure and testing methods in RAG and is answered in \Cref{ch:rago} and \Cref{ch:stm}. In \Cref{ch:suitability}, Results for \textbf{RQ3} shows concretely which features of RAG are usable and which benefits exist at this point.
 
 % [1] https://swagger.io/specification/ 
 % [2] Basu, Anirban (2015). Software Quality Assurance, Testing and Metrics. PHI Learning. ISBN 978-81-203-5068-7.
\ No newline at end of file
diff --git a/sections/openapi.tex b/sections/openapi.tex
index 639d4b5..dca9a67 100644
--- a/sections/openapi.tex
+++ b/sections/openapi.tex
@@ -9,7 +9,7 @@ OpenAPI specification does not hold on strict definitions and has a tree-shaped
 This specification is relevant to automated testing of REST APIs, because it enables black-box testing. There are already many interesting approaches \cite{atlidakis2019restler}, \cite{ed2018automatic}, \cite{karlsson2020quickrest}, \cite{martin2020restest}, \cite{viglianisi2020resttestgen}, more concrete explanations to separate approaches are in \cref{ch:curr-appr}. \\
 Black-box testing needs the specification of the REST API (in our case, OpenAPI specification) and generates test cases automatically. OpenAPI specifications are defined semi-formal, so test generations could generate unrealistic or invalid inputs. Nonetheleoss it is a meaningful way to test APIs automatically, because it does not require access to the source code and is available for every API regardless of in which programming language it is implemented or whether it is locally or remotely deployed \cite{arcuri2019restful}. \\
 
-\begin{lstlisting}[style=unboxed, caption={Example OpenAPI}, label={lst:openapi}]
+\begin{lstlisting}[language=json, caption={Example OpenAPI}, label={lst:openapi}]
 {
   "openapi" : "3.0.0",
   "info" : {
diff --git a/sections/rag.tex b/sections/rag.tex
index f4c79ea..38bbcb0 100644
--- a/sections/rag.tex
+++ b/sections/rag.tex
@@ -21,7 +21,7 @@ Such features of RAG represent advantages over AG, largely in efficiency. It is
 
 \begin{figure}
 \centering
-\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{ast}
+\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{astimage.png}
 \caption{Example AST, motivated by \cite{hedin2009introductory}}\label{fig:ast}
 \end{figure}
 
@@ -45,8 +45,6 @@ DivExp:BinExp ;
 MinusExp:BinExp ;
 \end{lstlisting}
 
-\newpage
-
 \begin{lstlisting}[language=JRAG,label={lst:example-attributes},caption={Example of synthesized attributes}]
 aspect Printing{
   syn String ASTNode.print();
diff --git a/sections/ragoGram.tex b/sections/ragoGram.tex
index 691d2e0..70362e1 100644
--- a/sections/ragoGram.tex
+++ b/sections/ragoGram.tex
@@ -31,6 +31,25 @@ eq ParameterReference.parameterObject() {
 
 During transferring the structure from OpenAPI to RAG, several properties of JastAdd were detectable:
 \begin{description}
-\item JastAdd does not support any map structure. So, nodes derived from maps in OpenAPI must be configured in tuples (List of a named tuple containing a key and a value).
-\item Extensions which are properties of an object class in OpenAPI are also defined in nodes.
-\end{description} 
\ No newline at end of file
+\item \textbf{JastAdd does not support any map structure. So, nodes derived from maps in OpenAPI must be configured in tuples (List of a named tuple containing a key and a value).}
+\end{description} 
+
+For instance, elements of Components Object are defined as maps\footnote{\url{https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.0.md\#componentsObject}}. 
+JastAdd has only AST classes: ASTNode, List and Opt. This problem is solved with construction of a node saving two child nodes in itself. See an example in Listing~\ref{lst:grammar-one}
+
+\begin{lstlisting}[language=AST, label={lst:grammar-one}, caption={Solution of Map Problem}]
+ComponentsObject ::= SchemaTuple* ResponseTuple* ... ;
+SchemaTuple ::= <Key> SchemaOb;
+ResponseTuple ::= <Key> ResponseOb;
+\end{lstlisting} 
+
+\begin{description}
+\item \textbf{Extensions which are properties of an object class in OpenAPI are also defined in nodes.}
+\end{description} 
+
+Extensions with unfixed name and value in Objects of OpenAPI are also solved with such tuples explained in the previous solution.
+
+\begin{lstlisting}[language=AST, label={lst:grammar-two}, caption={Solution of Extension}]
+ResponseObject : ResponseOb ::= <Description> ... Extension*;
+Extension ::= <Key> <Value:Object>;
+\end{lstlisting}
\ No newline at end of file
diff --git a/sections/ragoProcess.tex b/sections/ragoProcess.tex
index d34ca92..83d1548 100644
--- a/sections/ragoProcess.tex
+++ b/sections/ragoProcess.tex
@@ -13,8 +13,6 @@ Before working with attribute definitions, an input specification in JSON or YAM
 
 %Parse Java -> RAG
 The next step of processing this framework is transferring parsed objects in java into AST nodes. This step is done with attribute definitions in jrag file. A small definition example of Parameter Object is in Listing~\ref{lst:parser}.
-
-\newpage
  
 \begin{lstlisting}[language=JRAG,label={lst:parser},caption={Parser for Parameter Object}]
 { ...
diff --git a/sections/ragoTest.tex b/sections/ragoTest.tex
index d3c4091..908e05d 100644
--- a/sections/ragoTest.tex
+++ b/sections/ragoTest.tex
@@ -1,7 +1,7 @@
 \section{Validation} \label{sec:ragotest}
 
 % General
-For correct (re-)constructions, objects after the processing phase must be the same before. In that sense, a generated JSON or YAML must be equivalent to the given OpenAPI document. Thankfully, there are several practical libraries to compare two JSONs (JsonNode, JsonDiff, JsonPath) and conditions for the assertion were uncomplicated. As a result, we have validated the functionality of the structure transfer, while 100 APIs from apis.guru\footnote{\url{https://apis.guru/}} are constructed in RAG and reconstructed in openapi4j. 
+For correct (re-)constructions, objects after the processing phase must be the same before. In that sense, a generated JSON or YAML must be equivalent to the given OpenAPI document. Thankfully, there are several practical libraries to compare two JSONs (JsonNode, JsonDiff, JsonPath) and conditions for the assertion were uncomplicated.
 
 % Differences
 In the validation, differences with empty values and differences in Reference Objects are excluded. After the observation of OpenAPI documents, we have noticed that every author has an individual implementing behavior (i.e. description parts are always initialized in some APIs or nodes with empty values do not exist in others). Sibling elements of references do not provide semantical differences. So, it was not sensible to generate strictly equivalent values\footnote{\url{https://swagger.io/docs/specification/using-ref/}}. Its implementation is shown in Listing~\ref{lst:validation}.
@@ -27,5 +27,8 @@ if (diff.size() != 0) {
 
 Firstly, it takes a JSON node which is expected after processing phase and an other node which is actually created as inputs. A path shows only which file is concerned. Then, nodes are compared with JsonDiff. It returns an ArrayNode, "diff" describing which differences they have and where the differences have appeared. Unfortunately, it does not have a filter with empty values. So, the validation method tries to get a value of a path in "diff" and checks if it is empty. The differences with empty values are removed from this ArrayNode. Afterwards, it executes an assertion with a text comparison, if "diff" has an element. A text comparison gives a concreter but bigger overview than JsonDiff.  As described in the comment, it is not necessary to verify nodes twice.
 
+% Result
+As a result, we have validated the functionality of the structure transfer, while \textbf{974 APIs} from the repository of apis.guru\footnote{\url{https://github.com/APIs-guru/openapi-directory}\label{apis-guru}} are constructed in RAG and reconstructed in openapi4j. APIs involving validation or null pointer errors at openapi4j were excluded. This significant amount of validations presents that this grammar parses and transforms OpenAPI documents which are reliably semantically equivalent to their inputs.
+
 % ^{3} : api.guru
 % ^{4} : https://swagger.io/docs/specification/using-ref/
\ No newline at end of file
diff --git a/sections/relatedwork.tex b/sections/relatedwork.tex
index 6195bff..53d224c 100644
--- a/sections/relatedwork.tex
+++ b/sections/relatedwork.tex
@@ -7,4 +7,5 @@ There are already many approaches suggesting to test REST APIs with OpenAPI spec
 \input{sections/propBasedAppr}
 \input{sections/ConstBasedAppr}
 \input{sections/ODGAppr}
-\input{sections/restler}
\ No newline at end of file
+\input{sections/restler}
+\input{sections/summary}
\ No newline at end of file
diff --git a/sections/restapi.tex b/sections/restapi.tex
index 7a6a084..56d0dfb 100644
--- a/sections/restapi.tex
+++ b/sections/restapi.tex
@@ -7,12 +7,12 @@ The concept of REST has been proposed by Roy Fielding in 2000 \cite{fielding2000
 It offers constraints to increase simplicity, performance, visibility, modifiability, portability and reliability of APIs. \\
 Constraints defined in REST are following: 
 \begin{description}
-\item Client-Server: API must be a connection in a client-server architecture.
-\item Stateless: Every request must be stateless (i.e. independent of other requests).
-\item Cache: Data in API must be cacheable.
-\item Layered System: Several servers are able to use in one API.
-\item Code on Demand: Responses might be an executable code (optional).
-\item Uniform Interface: API holds on four additional constraints to be consistent
+\item \textbf{Client-Server}: API must be a connection in a client-server architecture.
+\item \textbf{Stateless}: Every request must be stateless (i.e. independent of other requests).
+\item \textbf{Cache}: Data in API must be cacheable.
+\item \textbf{Layered System}: Several servers are able to use in one API.
+\item \textbf{Code on Demand}: Responses might be an executable code (optional).
+\item \textbf{Uniform Interface}: API holds on four additional constraints to be consistent
 \begin{itemize}
 \item Resources in requests are identified by URI
 \item Client should hold the representation of a resource that has enough information to modify or delete the resource.
@@ -25,25 +25,46 @@ Constraints defined in REST are following:
 With this set of constraints system resources are characterized by URIs, sent as requests and modified with CRUD operations (Create, Read, Update, Delete), that are mapped to the HTTP methods (POST, GET, PUT, DELETE). Additionally, URIs, header and body objects are modified by parameters (Query, Path, Body, Header, Form). To change URIs and call an operation with variables, parameters in Query and Path are used. \\
 An example for a web service with REST API might be a web service of a pet store. Example operations for this REST API could be: \\
 \begin{description}
-\item GET /pets (returns all pet information)
-\item GET /pets/findByStatus?k1=v1\&k2=v2 (returns information of users with Query parameters k1 = v1 and k2 = v2 )
-\item GET /users/\{id\} (returns information of an user with the given Path parameter, id)
-\item POST /users (creates a new user)
-\item PUT /users/\{id\} (updates information of an user with the given Path parameter, id)
-\item DELETE /users/\{id\} (removes an user with the given Path parameter, id)
+\item \lstinline[{language=GET}]|GET /pets| \\ (returns all pet information)
+\item \lstinline[{language=GET}]|GET /pets/findByStatus?k1=v1&k2=v2| \\ (returns information of users with Query parameters k1 = v1 and k2 = v2 )
+\item \lstinline[{language=GET}]|GET /users/{id}| \\ (returns information of an user with the given Path parameter, id)
+\item \lstinline[{language=POST}]|POST /users| \\ (creates a new user)
+\item \lstinline[{language=PUT}]|PUT /users/{id}| \\ (updates information of an user with the given Path parameter, id)
+\item \lstinline[{language=DELETE}]|DELETE /users/{id}| \\ (removes an user with the given Path parameter, id)
 \end{description}
 
 %Process
-When a client request is made via a REST API, it transmits a representation of the resource status to the client or endpoint. \\ This representation or information is provided in mostly JSON or XML. JSON is the most popular programming language because it is language-agnostic despite its name and can be read by both humans and machines. \\
+When a client request is made via a REST API, it transmits a representation of the resource status to the client or endpoint. \\ This representation or information is provided in mostly JSON or XML. An example of a request in pet store we used for researches is following:
+
+\begin{lstlisting}[style=rest, caption={Example of Request}, label={lst:exp-request}]
+@POST@  ~/v2/pet~ @HTTP/1.1@
+<Host:> ABCDpetstore.swagger.ioABCD
+<Accept:> ABCDapplication/jsonABCD
+<Content-Type:> ABCDapplication/jsonABCD
+<Content-Length:> ABCD215ABCD
+
+{ "id": 0, ... }
+\end{lstlisting}
+
 After a client sends a HTTP request, a corresponding server is going to send back a HTTP response with headers and optionally a payload (data pack for a GET request). Additionally, a numeric status code will be a part of this response as well. Staus codes are specified in one of five categories:
 \begin{description}
-\item 1xx : Informational provisional responses
-\item 2xx : Request is successfully processed
-\item 3xx : Request requires more information to complete the request
-\item 4xx : Client error (invalid request, non-existent resource, client not authenticated or authorized)
-\item 5xx : Server error (Server can not supply a valid response)
+\item \textbf{1xx} : Informational provisional responses
+\item \textbf{2xx} : Request is successfully processed
+\item \textbf{3xx} : Request requires more information to complete the request
+\item \textbf{4xx} : Client error (invalid request, non-existent resource, client not authenticated or authorized)
+\item \textbf{5xx} : Server error (Server can not supply a valid response)
 \end{description}
 
-HTTP status code is an important component to this work, because it provides to test REST APIs and find out errors (e.g. requests expected as valid return 4xx status code or requests expected as invalid return 2xx status code).
+HTTP status code is an important component to this work, because it provides to test REST APIs and find out errors (e.g. requests expected as valid return 4xx status code or requests expected as invalid return 2xx status code). A response by the request shown above is in Listing~\ref{lst:exp-respnse}.
+
+\begin{lstlisting}[style=rest, caption={Example of Response}, label={lst:exp-respnse}]
+@HTTP/1.1@ V200V OK
+<Date>: ABCDSat, 1 Jan 2000 00:00:00 GMTABCD
+<Content-Type>: ABCDapplication/jsonABCD
+<Connection>: ABCDkeep-aliveABCD
+<Server>: ABCD...ABCD
+
+{ "id": 0, ... }
+\end{lstlisting}
 
 % [1] Roy Fielding in 2000
\ No newline at end of file
diff --git a/sections/stm1.tex b/sections/stm1.tex
index 5d2f5f0..e48e9ea 100644
--- a/sections/stm1.tex
+++ b/sections/stm1.tex
@@ -1,13 +1,13 @@
 \section{Random Testing} \label{sec:stm1}
 
-OpenAPI defines a parameter in an operation in four types, Query, Path, Header and Cookie\footnote{\url{https://swagger.io/docs/specification/describing-parameters}}. In this work, only Query and Path parameters are considered to research the functionality of the Fuzzing prototype in RAG. These parameters are clearly describable in String values and also comfortably testable, because they target only variable URIs. \\
-For the experiments, the OpenAPI document of a Pet Store is mainly used\footnote{\url{https://petstore.swagger.io}}. Additionally, only GET and POST operations are tested to research basic functionality firstly.
+OpenAPI defines a parameter in an operation in four types, Path, Query, Header and Cookie\footnote{\url{https://swagger.io/docs/specification/describing-parameters}}. In this work, only Path and Query parameters are considered to research the functionality of the Fuzzing prototype in RAG. These parameters are clearly describable in String values and also comfortably testable, because they target only variable URIs. \\
+For the experiments, the OpenAPI document of a Pet Store\footnote{\url{https://petstore.swagger.io}\label{petstore}} is mainly used. Additionally, only GET and POST operations are tested to research basic functionality firstly.
 
 % Process
 The main code at random testing is following:
 
 \begin{lstlisting}[language=JRAG,label={lst:random-testing},caption={Random Testing}]
-String Uri;
+String Uri = getServerUrl();
 for (ParameterOb o : operationObject.getParameterObs()) {
   ParameterObject p = o.parameterObject();
   if (p.getIn().equals("path"))
@@ -17,11 +17,17 @@ for (ParameterOb o : operationObject.getParameterObs()) {
 }
 connect(Uri);
 \end{lstlisting}  
-Initially, the generator for random testing computes a list of parameter objects stored in RAG and iterates all elements in this list (Line 2). Subsequently, each iteration examines in which type the parameter is and produces a random URI. This URI is saved in a String variable (Line 4-7). Finally, the test generator sends a request
-with the generated URI (Line 9).
+
+\begin{lstlisting}[language=JRAG, label={lst:rt-attribute}, caption={Attribute for Random Parameters}]
+syn String ParameterObject.randomPathParameter(String uri); // Generate random Path and save in URI
+
+syn String ParameterObject.randomQueryParameter(String uri); // Generate random Query and save in URI
+\end{lstlisting}
+Initially, the generator for random testing computes a list of parameter objects stored in RAG and iterates all elements in this list (Line 2, Listing~\ref{lst:random-testing}). Subsequently, each iteration examines in which type the parameter is and produces a random URI with synthesized attributes (Listing~\ref{lst:rt-attribute}). This URI is saved in a String variable (Line 4-7, Listing~\ref{lst:random-testing}). Finally, the test generator sends a request
+with the generated URI (Line 9, Listing~\ref{lst:random-testing}).
 
 % Result
-Besides operations with requirements of request bodies, results of this implementation made possible to observe that parameters based on the specification were successfully randomized and they produced documented status codes in their operations. For future work, constraints of schema (minItems, maxItems, minLengths, maxLengths, etc.) can be completely extended. In this approach, the generator considers only the existence of enums.
+Besides operations with requirements of request bodies, \textbf{results of this implementation made possible to observe that parameters were successfully randomized and they produced documented status codes in Pet store\footref{petstore} (200, 400, 404, 405 status codes).} For future work, constraints of schema (minItems, maxItems, minLengths, maxLengths, etc.) can be completely extended. In this approach, the generator considers only the existence of enums.
 
 % ^5 : https://swagger.io/docs/specification/describing-parameters/
 % ^6 : https://petstore.swagger.io
\ No newline at end of file
diff --git a/sections/stm2.tex b/sections/stm2.tex
index 1268f19..9b8e105 100644
--- a/sections/stm2.tex
+++ b/sections/stm2.tex
@@ -3,11 +3,10 @@ Random testing is a one of easiest way to test API and can be useful in some sit
 
 % General
 To solve this problem, most of REST API testing approaches use a stateful process, because it enables to analyze properties of APIs and infer inputs which are more appropriate than random inputs. There are several suggestions in \Cref{ch:curr-appr}, this framework investigates a inference of parameters with operation dependency motivated by Specification-based Approach \cite{ed2018automatic} and RESTTESTGEN \cite{viglianisi2020resttestgen}. Generally, it collects all responses and inferences parameters contributing the same schema of a succesful response. If there is a schema set in a request and a response, parameters of them are inferred by three strategies:
-
 \begin{itemize}
-\item Case insensitive
-\item Id completion in a field name (e.g. if a property is named with "id", it gets an additional field name available in the specification)
-\item Stemming algorithm (e.g. pet and pets are considered as a same value.)
+\item \textbf{Case insensitive}
+\item \textbf{Id completion} in a field name (e.g. if a property is named with "id", it gets an additional field name available in the specification)
+\item \textbf{Stemming algorithm} (e.g. pet and pets are considered as a same value.)
 \end{itemize}
 
 % Process
@@ -39,7 +38,6 @@ for (String path : paths)
 \end{lstlisting}
 
 \begin{lstlisting}[language=JRAG,label={lst:parameter-dict},caption={Attribute writeDictionary}]
-
 syn String OperationObject.writeDictionary(SchemaOb schema, String resp) {
   ...
   return inferredParameter;
@@ -66,7 +64,7 @@ syn List<String> ParameterObject.addinfPathParameters(String pathRef,List<String
 }
 \end{lstlisting}
 
-Before it starts with the parameter inference, the random testing generator of \Cref{sec:stm1} is executed first (Line 1, Listing~\ref{lst:parameter-inference}). During this execution, the status code of a response is checked if it is a successful response with 200 status code (Line 4, Listing~\ref{lst:parameter-inference}). Afterwards, the response schema of returned values is also checked. If it is in type array, the function "writeDictionary" is iterated, otherwise it only executed once (Listing~\ref{lst:parameter-dict}). The attribute "writeDictionary" saves the returend values of a successful response in seperate properties and write them in a dictionary (e.g. properties "id" and "name" are seperately stored with their value in the dictionary). If the schema of a response provides a reference of a schema object, the field name gets a name of a reference as prefix. Subsequently, this implementation does the similar way of execution in random testing at the generation phase. Firstly, it iterates all parameter objects (Line 14, Listing~\ref{lst:parameter-inference}) and examines whether the parameter type is Path or Query (Line 15-18, Listing~\ref{lst:parameter-inference}). Both attributes return URIs with parameter values inferred by the dictionary and case insensitive comparison (Line 4, Listing~\ref{lst:parameter-case}). Generated URIs are put in a list. Lastly, the generator attribute sends requests with the URIs and starts with observation (Line 20-21, Listing~\ref{lst:parameter-inference}).
+Before it starts with the parameter inference, random tests of \Cref{sec:stm1} are generated first (Line 1, Listing~\ref{lst:parameter-inference}). During this execution, the status code of a response is checked if it is a successful response with 200 status code (Line 4, Listing~\ref{lst:parameter-inference}). Afterwards, the response schema of returned values is also checked. If it is in type array, the function "writeDictionary" is iterated, otherwise it only executed once (Listing~\ref{lst:parameter-dict}). The attribute "writeDictionary" saves the returend values of a successful response in seperate properties and write them in a dictionary (e.g. properties "id" and "name" are seperately stored with their value in the dictionary). If the schema of a response provides a reference of a schema object, the field name gets a name of a reference as prefix. Subsequently, this implementation does the similar way of execution in random testing at the generation phase. Firstly, it iterates all parameter objects (Line 14, Listing~\ref{lst:parameter-inference}) and examines whether the parameter type is Path or Query (Line 15-18, Listing~\ref{lst:parameter-inference}). Both attributes return URIs with parameter values inferred by the dictionary and case insensitive comparison (Line 4, Listing~\ref{lst:parameter-case}). Generated URIs are put in a list. Lastly, the generator attribute sends requests with the URIs and starts with observation (Line 20-21, Listing~\ref{lst:parameter-inference}).
 
 % Result
-As results, the test case generator with parameter inference implemented in this framework could create maximum over 300 acceptable URIs for the parameter petId in the selected API, pet store, at the operation getPetById. It generated also numerous requests denied by the server. After the observation of several execution iterations, it can be assumed that the API with this operation sends 200 or 404 status codes randomly or according to some rules, because a same URI provided status codes in that way.
\ No newline at end of file
+As results, \textbf{the test case generator with parameter inference implemented in this framework could create maximum over 300 acceptable URIs for the parameter petId in the selected API, pet store\footref{petstore}, at the operation getPetById.} It generated also numerous requests denied by the server. After the observation of several execution iterations, it can be assumed that the API with this operation sends 200 or 404 status codes randomly or according to some rules, because a same URI provided status codes in that way.
\ No newline at end of file
diff --git a/sections/summary.tex b/sections/summary.tex
new file mode 100644
index 0000000..2f3e57f
--- /dev/null
+++ b/sections/summary.tex
@@ -0,0 +1,46 @@
+\section{Summary} \label{sec:sum}
+
+\newcolumntype{Y}{>{\hspace{0pt}}X}
+\newcolumntype{D}{>{\raggedright}Y}
+\newcolumntype{E}{>{\centering}Y}
+\newcolumntype{F}{>{\raggedleft}Y}
+
+\begin{table}
+\fontsize{7}{9}\selectfont
+\begin{tabularx}{\textwidth}{@{}D|E|E|E|E@{}}
+\toprule 
+	& \textbf{Type of Errors} & \textbf{Type of Process} & \textbf{Type of Inference} & \textbf{Results} \tabularnewline\midrule
+Specification-based Approach & Nominal Test Cases : \textbf{4xx/500 Status Codes, Schema Errors} \newline Faulty Test Cases : \textbf{500, 200 Status Codes} &
+Stateful &
+Parameter Inference &
+Bugs found in 37 experimented APIs of 91
+\tabularnewline \hline
+Property-based Approach &
+\textbf{500 Status Codes} &
+Stateless/Stateful &
+Inference of Failure Area &
+In Average, 9.84\% Probability of Error Occurrence in GitLab
+\tabularnewline \hline
+Constraint-based Approach &
+\textbf{5XX Status Codes, OpenAPI Schema Errors, 2XX Related to Parameters, 2XX Related to Parameter Dependencies, 4XX Status Codes} &
+Stateful &
+Inference of Parameter Dependency by IDLReasoner\footnote{\url{https://github.com/isa-group/IDLReasoner}} &
+Over 2000 Bugs found in 6 commercial APIs
+\tabularnewline \hline
+Operation Dependency Graph Approach &
+Nominal Cases : \textbf{5xx Status Codes or Validation Error of Response} \newline Error Cases : \textbf{2xx or 5xx Status Codes} &
+Stateful &
+Inference of Operation Dependency &
+Errors found in 87 selected APIs.
+\tabularnewline \hline
+Stateful REST API Fuzzer &
+\textbf{500 Status Codes} &
+Stateful &
+Inference of Request Dependency &
+28 Bugs in GitLab and several Bugs in Microsoft Azure and Office365 cloud services
+\tabularnewline\bottomrule 
+\end{tabularx}
+\caption{Overview of Approaches in Table}\label{tab:sum}
+\end{table}
+
+In this work, we found that most current testing approaches using OpenAPI are based on Fuzzing. HTTP status codes were mostly the basis of test oracles, Specification-based, Constraint-based and Operation Dependency Graph Approaches collect also schema validation errors. All of the approaches considered 500 status codes as bugs and several of them expects only 200 status codes by valid test cases and 4xx status codes by error test cases. To result more precisely, they all suggest to inference data of a server or dependency between requests or requests and responses. This usage of inferences requires the stateful process which means requests depend on previous sequences (i.e. requests, responses). The simplified explanantion of current researches is in \Cref{tab:sum}
\ No newline at end of file
diff --git a/sections/testing.tex b/sections/testing.tex
index fcb9845..ed872e9 100644
--- a/sections/testing.tex
+++ b/sections/testing.tex
@@ -1,12 +1,12 @@
 \section{Software Testing}
 
-To understand what this paper is about, it is required to know what is software testing. Software testing is a method to see whether a software product works with its expected functionality and is defect free. The problem without testing is that bugs are expensive or also critical in terms of security. Solving this problem brings the software huge advantages (e.g. effectiveness, stronger security, robust software quality). \\
+Software testing is a method to see whether a software product works with its expected functionality and is defect free. The problem without testing is that bugs are expensive or also critical in terms of security. Solving this problem brings the software huge advantages (e.g. effectiveness, stronger security, robust software quality). \\
 There are several classifications in software testing. One classification is related to goals of testing: testing if a software does not have critical bugs (Functional Testing), testing if a software is effective enough (Non-Functional Testing) and modifying an existent software product to correct appeared bugs (Regression Testing) \cite{anirban2015software}. 
 If a software product is implemented small enough, it is commonly better to test manually and a tester individually defines test cases. But, in most industrial softwares, like REST APIs, it is necessary to automate tests, because the products are too big and manual testing is too difficult at this point.
 
 %2
 Afterwards, there is a box approach to divide software testing into three categories, black and white Box Testing \cite{saleh2009software}. Black box tests are developed without knowledge of the internal structure of the system to be tested, but on the basis of development documents. In practice, black box tests are usually not processed by developers of a target software, but by technically oriented testers or by special test departments or test teams. White box tests are developed on the basis of knowledge about the internal structure of the component to be tested. \\
-This paper focuses on automated testing with a black box approach. In section 2.3 the selection of the approach is explained.
+This paper focuses on automated testing with a black box approach. In \Cref{sec:openapi} the selection of the approach is explained.
 
 
 % [1] Saleh, K.A. (2009). Software Engineering. J. Ross Publishing. pp. 224–41.
diff --git a/thesis.tex b/thesis.tex
index f7fa1b3..48c82f3 100644
--- a/thesis.tex
+++ b/thesis.tex
@@ -2,7 +2,7 @@
 %\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
 
 % change to english for english theses
-\documentclass[english,BCOR=1.5cm,twoside]{tudscrreprt}
+\documentclass[english,BCOR=1.5cm,twoside,xcolor={dvipsnames}]{tudscrreprt}
 
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
@@ -47,7 +47,6 @@
 \usepackage{csquotes}
 
 
-
 \usepackage{caption}
 \captionsetup{font=sf,labelfont=bf,labelsep=space}
 \usepackage{floatrow}
-- 
GitLab