# Automatic Cause-Effect Graph Tool with Informal Korean Requirement Specifications
## 3 Automatic Generation for Cause-Effect Graph from Informal Korean Requirements  
Automatic Generation Process for Cause-Effect Graph from Korean Requirements on Our Informal Korean-Based Requirement Analyzer  
Figure 2 shows the cause-effect graph generation process using informal Korean requirements. The detailed process is as follows. Step 0. Input Informal Korean Requirements  
In order to explain this, we used a simple sample of Korean language requirements in Table 2.  
Step 1. Identify Morpheme  
In order to identify morphemes in requirement sentences, we used the open-source morpheme analyzer MeCab-ko [13]. This analyzer slices a requirement sentence into small units, that is, morphemes. \begin{table}
\begin{tabular}{l c c c c} \hline \hline  & **HiMEM** & \begin{tabular}{c} **Bender** \\ **RBT** \\ **[7]** \\ \end{tabular} & \begin{tabular}{c} **Berk** \\ **Bekiroglu’s** \\ **Tool** [8] \\ \end{tabular} & \begin{tabular}{c} **KRA-CE** \\ **[3]** \\ \end{tabular} \\ \hline \begin{tabular}{l} Automatic test case generation based on \\ cause–effect graph \\ \end{tabular} & O & O & O & O \\ \hline \begin{tabular}{l} Automatic cause–effect generation with \\ requirements \\ \end{tabular} & X & X & X & O \\ \hline \begin{tabular}{l} Support for design methods with \\ cause–effect graph \\ \end{tabular} & O & O & O & X \\ \hline \begin{tabular}{l} Support various OS environments \\ \end{tabular} & X & X & X & O \\ \hline \begin{tabular}{l} Modify a GUI-based cause–effect graph \\ \end{tabular} & X & O & X & X \\ \hline \begin{tabular}{l} Directly input informal \\ requirement specifications \\ \end{tabular} & X & X & X & O \\ \hline \begin{tabular}{l} Simplify complex requirements \\ \end{tabular} & X & X & X & O \\ \hline \
\begin{tabular}{l} Represent clauses of requirements on nodes \\ \end{tabular} & X & X & X & O \\ \hline
\begin{tabular}{l} Extract the incomplete \\ requirements sentence \\ \end{tabular} & X & X & X & O \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The comparison with the existing tools. Figure 1: Automatic cause–effect design mechanism for test cases. Step 2. Simplify Complex Requirement Sentences  
In this step, we identified \"Cause\" and \"Effect\" nodes and also constructed \"Identity\", \"NOT\", \"AND\", and \"OR\" relationships between \"Cause\" and \"Effect\" nodes in natural Korean sentences. Then, it automatically generates a cause-effect graph that contains the \"Cause\" node in the condition clause and the \"Effect\" node in the result clause of a natural  
Figure 3: Analyzed morphemes of the sentence. Figure 2: The cause-effect graph generation process based on informal Korean requirement specifications. language sentence. The \"AND\" or \"OR\" relationship exists between a conjunction clause and the following clause nested from each \"Cause\" and \"Effect\" node. It can also contain the \"NOT\" relationship in the condition and result clauses. In order to analyze the morpheme in a sentence, we used a morpheme analyzer to identify the \"Condition\", \"Result\", \"Conjunction\", and \"Following\" types of the clauses in the sentence included with the analyzed morphemes. In order to explain four cases for identifying the inner structure of a requirement sentence, we use other samples of requirements as follows:  
* Identify the positive and negative condition relationships;  
When the tool identifies the sentence's conditional and the result clauses, the clauses are classified as positive or negative. For example, the root node contains a complex sentence as the original requirement sentence. A parent node represents a sliced sentence from the original sentence. The terminal nodes contain the simple sentences in the red rectangle boxes. This original sentence contains a positive condition relationship. Figure 4 shows the positive conditional relationship of the sentence.